This is an automated email from the ASF dual-hosted git repository. sergeykamov pushed a commit to branch NLPCRAFT-521 in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
commit 2c1ac98112e268b9adc461708736dcdab3f8f60f Author: Sergey Kamov <[email protected]> AuthorDate: Fri Dec 23 12:43:07 2022 +0400 WIP. --- .../examples/lightswitch/LightSwitchFrModel.scala | 2 +- .../examples/lightswitch/LightSwitchRuModel.scala | 2 +- .../examples/lightswitch/LightSwitchModel.scala | 2 +- .../pizzeria/components/PizzeriaOrderMapper.scala | 10 +++--- .../components/PizzeriaOrderValidator.scala | 2 +- .../stanford/NCStanfordNLPEntityParser.scala | 2 +- .../main/scala/org/apache/nlpcraft/NCEntity.scala | 8 ++--- .../internal/conversation/NCConversationData.scala | 2 +- .../internal/impl/NCModelPipelineManager.scala | 2 +- .../intent/compiler/NCIDLCodeGenerator.scala | 10 +++--- .../internal/intent/compiler/NCIDLCompiler.scala | 2 +- .../internal/intent/compiler/antlr4/NCIDL.g4 | 2 +- .../intent/matcher/NCIntentSolverManager.scala | 4 +-- .../nlpcraft/nlp/parsers/NCNLPEntityParser.scala | 2 +- .../nlp/parsers/NCOpenNLPEntityParser.scala | 2 +- .../nlpcraft/nlp/parsers/NCSemanticElement.scala | 18 +++++------ .../nlp/parsers/NCSemanticEntityParser.scala | 16 +++++----- .../nlp/parsers/impl/NCSemanticSourceReader.scala | 2 +- .../parsers/impl/NCSemanticSynonymsProcessor.scala | 6 ++-- .../conversation/NCConversationManagerSpec.scala | 4 +-- .../nlpcraft/internal/impl/NCModelClientSpec.scala | 2 +- .../intent/compiler/functions/NCIDLFunctions.scala | 10 +++--- .../functions/NCIDLFunctionsEntitiesUsed.scala | 4 +-- .../compiler/functions/NCIDLFunctionsEntity.scala | 36 +++++++++++----------- .../nlpcraft/internal/intent/compiler/test_ok.idl | 2 +- .../apache/nlpcraft/nlp/NCEntityMapperSpec.scala | 4 +-- .../apache/nlpcraft/nlp/NCEntityParserSpec.scala | 2 +- .../parsers/NCSemanticEntityParserJsonSpec.scala | 2 +- .../parsers/NCSemanticEntityParserLemmaSpec.scala | 2 +- .../nlp/parsers/NCSemanticEntityParserSpec.scala | 18 +++++------ .../parsers/NCSemanticEntityParserYamlSpec.scala | 2 +- .../nlp/parsers/NCSemanticTestElement.scala | 2 +- .../apache/nlpcraft/nlp/util/NCTestEntity.scala | 12 ++++---- .../org/apache/nlpcraft/nlp/util/NCTestUtils.scala | 4 +-- 34 files changed, 101 insertions(+), 101 deletions(-) diff --git a/nlpcraft-examples/lightswitch-fr/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala b/nlpcraft-examples/lightswitch-fr/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala index d93cc571..a434295d 100644 --- a/nlpcraft-examples/lightswitch-fr/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala +++ b/nlpcraft-examples/lightswitch-fr/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala @@ -60,7 +60,7 @@ class LightSwitchFrModel extends NCModel( @NCIntentTerm("act") actEnt: NCEntity, @NCIntentTerm("loc") locEnts: List[NCEntity] ): NCResult = - val action = if actEnt.getId == "ls:on" then "allumer" else "éteindre" + val action = if actEnt.getType == "ls:on" then "allumer" else "éteindre" val locations = if locEnts.isEmpty then "toute la maison" else locEnts.map(_.mkText).mkString(", ") // Add HomeKit, Arduino or other integration here. diff --git a/nlpcraft-examples/lightswitch-ru/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala b/nlpcraft-examples/lightswitch-ru/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala index c7169f47..17c7215f 100644 --- a/nlpcraft-examples/lightswitch-ru/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala +++ b/nlpcraft-examples/lightswitch-ru/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala @@ -54,7 +54,7 @@ class LightSwitchRuModel extends NCModel( @NCIntentTerm("act") actEnt: NCEntity, @NCIntentTerm("loc") locEnts: List[NCEntity] ): NCResult = - val action = if actEnt.getId == "ls:on" then "включить" else "выключить" + val action = if actEnt.getType == "ls:on" then "включить" else "выключить" val locations = if locEnts.isEmpty then "весь дом" else locEnts.map(_.mkText).mkString(", ") // Add HomeKit, Arduino or other integration here. diff --git a/nlpcraft-examples/lightswitch/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchModel.scala b/nlpcraft-examples/lightswitch/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchModel.scala index 9f73bb3a..2085bfd4 100644 --- a/nlpcraft-examples/lightswitch/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchModel.scala +++ b/nlpcraft-examples/lightswitch/src/main/scala/org/apache/nlpcraft/examples/lightswitch/LightSwitchModel.scala @@ -54,7 +54,7 @@ class LightSwitchModel extends NCModel( @NCIntentTerm("act") actEnt: NCEntity, @NCIntentTerm("loc") locEnts: List[NCEntity] ): NCResult = - val status = if actEnt.getId == "ls:on" then "on" else "off" + val status = if actEnt.getType == "ls:on" then "on" else "off" val locations = if locEnts.isEmpty then "entire house" else locEnts.map(_.mkText).mkString(", ") // Add HomeKit, Arduino or other integration here.= diff --git a/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderMapper.scala b/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderMapper.scala index 673b62b8..22526bd8 100644 --- a/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderMapper.scala +++ b/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderMapper.scala @@ -49,7 +49,7 @@ object PizzeriaOrderMapper: def tokens: List[NCToken] = entity.getTokens private def str(es: Iterable[NCEntity]): String = - es.map(e => s"id=${e.getId}(${e.tokens.map(_.getIndex).mkString("[", ",", "]")})").mkString("{", ", ", "}") + es.map(e => s"id=${e.getType}(${e.tokens.map(_.getIndex).mkString("[", ",", "]")})").mkString("{", ", ", "}") def apply(extra: PizzeriaOrderMapperDesc, dests: PizzeriaOrderMapperDesc*): PizzeriaOrderMapper = new PizzeriaOrderMapper(extra, dests) @@ -63,11 +63,11 @@ case class PizzeriaOrderMapper(extra: PizzeriaOrderMapperDesc, dests: Seq[Pizzer put[String](destProp, extraEnt[String](extra.propertyName).toLowerCase) override val getTokens: List[NCToken] = (destEnt.tokens ++ extraEnt.tokens).sortBy(_.getIndex) override val getRequestId: String = req.getRequestId - override val getId: String = destEnt.getId + override val getType: String = destEnt.getType val destsMap = dests.map(p => p.elementId -> p).toMap - val destEnts = mutable.HashSet.empty ++ ents.filter(e => destsMap.contains(e.getId)) - val extraEnts = ents.filter(_.getId == extra.elementId) + val destEnts = mutable.HashSet.empty ++ ents.filter(e => destsMap.contains(e.getType)) + val extraEnts = ents.filter(_.getType == extra.elementId) if destEnts.nonEmpty && extraEnts.nonEmpty && destEnts.size >= extraEnts.size then val used = (destEnts ++ extraEnts).toSet @@ -79,7 +79,7 @@ case class PizzeriaOrderMapper(extra: PizzeriaOrderMapperDesc, dests: Seq[Pizzer dest2Extra += destEnt -> extraEnt val unrelated = ents.filter(e => !used.contains(e)) - val artificial = for ((m, e) <- dest2Extra) yield map(m, destsMap(m.getId).propertyName, e) + val artificial = for ((m, e) <- dest2Extra) yield map(m, destsMap(m.getType).propertyName, e) val unused = destEnts val res = (unrelated ++ artificial ++ unused).sortBy(_.tokens.head.getIndex) diff --git a/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderValidator.scala b/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderValidator.scala index b0d2f8b3..64792b5c 100644 --- a/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderValidator.scala +++ b/nlpcraft-examples/pizzeria/src/main/scala/org/apache/nlpcraft/examples/pizzeria/components/PizzeriaOrderValidator.scala @@ -24,7 +24,7 @@ import org.apache.nlpcraft.* */ class PizzeriaOrderValidator extends NCEntityValidator: override def validate(req: NCRequest, cfg: NCModelConfig, ents: List[NCEntity]): Unit = - def count(id: String): Int = ents.count(_.getId == id) + def count(id: String): Int = ents.count(_.getType == id) val cntPizza = count("ord:pizza") val cntDrink = count("ord:drink") diff --git a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParser.scala b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParser.scala index 1677c6dd..bc178685 100644 --- a/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParser.scala +++ b/nlpcraft-stanford/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParser.scala @@ -70,6 +70,6 @@ class NCStanfordNLPEntityParser(stanford: StanfordCoreNLP, supported: Set[String override val getTokens: List[NCToken] = entToks override val getRequestId: String = req.getRequestId - override val getId: String = s"stanford:$typ" + override val getType: String = s"stanford:$typ" res.toList \ No newline at end of file diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCEntity.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCEntity.scala index 96c77bd1..885d0fe3 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCEntity.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCEntity.scala @@ -69,11 +69,11 @@ trait NCEntity extends NCPropertyMap: * * @return Optional set of groups this entity belongs to. Returned set can be empty but never `null`. */ - def getGroups: Set[String] = Set(getId) + def getGroups: Set[String] = Set(getType) /** - * Gets globally unique ID of this entity. + * Gets entity type. * - * @return Globally unique ID of this entity. + * @return Entity type. */ - def getId: String + def getType: String diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala index e6a8ed06..c1606b3a 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala @@ -189,7 +189,7 @@ case class NCConversationData( else val tbl = NCAsciiTable("Entity ID", "Groups", "Request ID") ctx.foreach(ent => tbl += ( - ent.getId, + ent.getType, ent.getGroups.mkString(", "), ent.getRequestId )) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala index c2f56c74..11367a23 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala @@ -176,7 +176,7 @@ class NCModelPipelineManager(cfg: NCModelConfig, pipeline: NCPipeline) extends L for e <- v.getEntities do val toks = e.getTokens tbl += ( - e.getId, + e.getType, toks.map(_.getText).mkString("|"), toks.map(p => s"${p.getStartCharIndex}-${p.getEndCharIndex}").mkString("|"), mkProps(e) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCodeGenerator.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCodeGenerator.scala index eab9d4b7..dae8f866 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCodeGenerator.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCodeGenerator.scala @@ -900,22 +900,22 @@ trait NCIDLCodeGenerator: case "mdl_origin" => z0(() => Z(idlCtx.mdlCfg.getOrigin.orNull, 0)) // Entity functions. - case "ent_id" => arg1Tok() match { case x => stack.push(() => Z(toEntity(x().value).impl.getId, 1)) } + case "ent_type" => arg1Tok() match { case x => stack.push(() => Z(toEntity(x().value).impl.getType, 1)) } case "ent_index" => arg1Tok() match { case x => stack.push(() => Z(toEntity(x().value).index, 1)) } case "ent_text" => arg1Tok() match { case x => stack.push(() => Z(toEntity(x().value).text, 1)) } case "ent_count" => checkAvail(); z0(() => Z(idlCtx.entities.size, 0)) case "ent_groups" => arg1Tok() match { case x => stack.push(() => Z(JList.copyOf(toEntity(x().value).impl.getGroups.asJava), 1)) } case "ent_all" => checkAvail(); z0(() => Z(idlCtx.entities.asJava, 0)) - case "ent_all_for_id" => checkAvail(); doForAll((e, id) => e.impl.getId == id) + case "ent_all_for_id" => checkAvail(); doForAll((e, id) => e.impl.getType == id) case "ent_all_for_group" => checkAvail(); doForAll((e, grp) => e.impl.getGroups.contains(grp)) case "ent_this" => z0(() => Z(ent, 1)) case "ent_is_last" => checkAvail(); arg1Tok() match { case x => stack.push(() => { Z(toEntity(x().value).index == idlCtx.entities.size - 1, 1) }) } case "ent_is_first" => checkAvail(); arg1Tok() match { case x => stack.push(() => { Z(toEntity(x().value).index == 0, 1) }) } - case "ent_is_before_id" => checkAvail(); doIsBefore((e, id) => e.impl.getId == id) + case "ent_is_before_id" => checkAvail(); doIsBefore((e, id) => e.impl.getType == id) case "ent_is_before_group" => checkAvail(); doIsBefore((e, grpId) => e.impl.getGroups.contains(grpId)) - case "ent_is_after_id" => checkAvail(); doIsAfter((e, id) => e.impl.getId == id) + case "ent_is_after_id" => checkAvail(); doIsAfter((e, id) => e.impl.getType == id) case "ent_is_after_group" => checkAvail(); doIsAfter((e, grpId) => e.impl.getGroups.contains(grpId)) - case "ent_is_between_ids" => checkAvail(); doIsBetween((e, id) => e.impl.getId == id) + case "ent_is_between_ids" => checkAvail(); doIsBetween((e, id) => e.impl.getType == id) case "ent_is_between_groups" => checkAvail(); doIsBetween((e, grpId) => e.impl.getGroups.contains(grpId)) // Request data. diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala index dded76da..ccedb618 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala @@ -121,7 +121,7 @@ class NCIDLCompiler(cfg: NCModelConfig) extends LazyLogging with mutable.Cloneab override def exitCallExpr(ctx: IDP.CallExprContext): Unit = val fun = if ctx.FUN_NAME() != null then ctx.FUN_NAME().getText - else "ent_id" + else "ent_type" expr += parseCallExpr(fun)(ctx) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/antlr4/NCIDL.g4 b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/antlr4/NCIDL.g4 index 0b754e15..6f614d76 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/antlr4/NCIDL.g4 +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/antlr4/NCIDL.g4 @@ -143,7 +143,7 @@ FUN_NAME | 'meta_frag' | 'json' | 'if' - | 'ent_id' + | 'ent_type' | 'ent_index' | 'ent_text' | 'ent_groups' diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/matcher/NCIntentSolverManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/matcher/NCIntentSolverManager.scala index ed432620..243dfe23 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/matcher/NCIntentSolverManager.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/matcher/NCIntentSolverManager.scala @@ -313,7 +313,7 @@ class NCIntentSolverManager( val variantPart = m.variant. entities. - map(t => s"${t.getId}${t.getGroups}${t.mkText}"). + map(t => s"${t.getType}${t.getGroups}${t.mkText}"). mkString("") val intentPart = m.intentMatch.intent.toString @@ -362,7 +362,7 @@ class NCIntentSolverManager( var entIdx = 0 for (e <- grp.usedEntities) val conv = if e.conv then "(conv) " else "" - ents += s" #$entIdx: $conv${e.entity.getId}(${e.entity.mkText})" + ents += s" #$entIdx: $conv${e.entity.getType}(${e.entity.mkText})" entIdx += 1 else ents += " <empty>" diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCNLPEntityParser.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCNLPEntityParser.scala index b184f779..cf1b3225 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCNLPEntityParser.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCNLPEntityParser.scala @@ -63,5 +63,5 @@ class NCNLPEntityParser(predicate: NCToken => Boolean = _ => true) extends NCEnt override val getTokens: List[NCToken] = List(t) override val getRequestId: String = req.getRequestId - override val getId: String = id + override val getType: String = id ) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCOpenNLPEntityParser.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCOpenNLPEntityParser.scala index 8cb7d661..8314c6c8 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCOpenNLPEntityParser.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCOpenNLPEntityParser.scala @@ -105,6 +105,6 @@ class NCOpenNLPEntityParser(findersMdlsRes: List[String]) extends NCEntityParser override val getTokens: List[NCToken] = toks.flatMap(t => Option.when(t.getIndex >= i1 && t.getIndex <= i2)(t)) override val getRequestId: String = req.getRequestId - override val getId: String = s"opennlp:${h.name}" + override val getType: String = s"opennlp:${h.name}" ) }).toList \ No newline at end of file diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.scala index 8aa95473..20780bc7 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.scala @@ -18,7 +18,7 @@ package org.apache.nlpcraft.nlp.parsers import org.apache.nlpcraft.nlp.stemmer.NCStemmer - +import org.apache.nlpcraft.* /** * * Configuration element which helps to detect [[org.apache.nlpcraft.NCEntity NCEntity]] for @@ -30,18 +30,18 @@ import org.apache.nlpcraft.nlp.stemmer.NCStemmer */ trait NCSemanticElement: /** - * Gets **id** for created [[org.apache.nlpcraft.NCEntity NCEntity]] instance. - * Representation of [[org.apache.nlpcraft.NCEntity.getId NCEntity.getId()]] method. - * @return Element ID. + * Gets **type** for created [[NCEntity]] instance. + * Representation of [[NCEntity.getType]] method. + * @return Element type. */ - def getId: String + def getType: String /** - * Gets **groups** for created [[org.apache.nlpcraft.NCEntity NCEntity]] instance. - * Representation of [[org.apache.nlpcraft.NCEntity.getGroups NCEntity.getGroups()]] method. + * Gets **groups** for created [[NCEntity]] instance. + * Representation of [[NCEntity.getGroups]] method. * @return Groups. */ - def getGroups: Set[String] = Set(getId) + def getGroups: Set[String] = Set(getType) /** * Gets values map. Each element can contain multiple value, @@ -58,7 +58,7 @@ trait NCSemanticElement: def getSynonyms: Set[String] = Set.empty /** - * Gets [[org.apache.nlpcraft.NCPropertyMap metadata]] property for created [[org.apache.nlpcraft.NCEntity NCEntity]] instance. + * Gets [[NCPropertyMap metadata]] property for created [[NCEntity]] instance. * @return Groups. */ def getProperties: Map[String, AnyRef] = Map.empty diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.scala index 8004d3e9..e0b2f816 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.scala @@ -199,7 +199,7 @@ class NCSemanticEntityParser private ( */ private def init(): Unit = val (macros, elements, elemsMap) = - def toMap(elems: Seq[NCSemanticElement]): Map[String, NCSemanticElement] = elems.map(p => p.getId -> p).toMap + def toMap(elems: Seq[NCSemanticElement]): Map[String, NCSemanticElement] = elems.map(p => p.getType -> p).toMap mdlResOpt match case Some(mdlSrc) => @@ -238,7 +238,7 @@ class NCSemanticEntityParser private ( val cache = mutable.HashSet.empty[Seq[Int]] // Variants (tokens without stopwords) can be repeated. - case class Holder(elemId: String, tokens: List[NCToken], value: Option[String]): + case class Holder(elemType: String, tokens: List[NCToken], value: Option[String]): val tokensSet: Set[NCToken] = tokens.toSet val idxs: Set[Int] = tokensSet.map(_.getIndex) @@ -284,10 +284,10 @@ class NCSemanticEntityParser private ( // Deletes redundant. hs = hs.distinct - + val del = mutable.ArrayBuffer.empty[Holder] // 1. Look at each element with its value. - for (((_, _), seq) <- hs.groupBy(h => (h.elemId, h.value)) if seq.size > 1) + for (((_, _), seq) <- hs.groupBy(h => (h.elemType, h.value)) if seq.size > 1) // 2. If some variants are duplicated - keep only one, with most tokens counts. val seqIdxs = seq.zipWithIndex @@ -297,15 +297,15 @@ class NCSemanticEntityParser private ( hs --= del hs.toSeq.map(h => { - val e = elemsMap(h.elemId) + val e = elemsMap(h.elemType) new NCPropertyMapAdapter with NCEntity: - if e.getProperties != null then e.getProperties.foreach { (k, v) => put(s"${h.elemId}:$k", v) } + if e.getProperties != null then e.getProperties.foreach { (k, v) => put(s"${h.elemType}:$k", v) } h.value match - case Some(value) => put(s"${h.elemId}:value", value) + case Some(value) => put(s"${h.elemType}:value", value) case None => // No-op. override val getTokens: List[NCToken] = h.tokens override val getRequestId: String = req.getRequestId - override val getId: String = h.elemId + override val getType: String = h.elemType override val getGroups: Set[String] = e.getGroups }).toList \ No newline at end of file diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSourceReader.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSourceReader.scala index c9a2cfd5..6e8fc635 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSourceReader.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSourceReader.scala @@ -71,7 +71,7 @@ private[parsers] object NCSemanticSourceReader: if e == null then null else new NCPropertyMapAdapter with NCSemanticElement: - override val getId: String = e.id + override val getType: String = e.id override val getGroups: Set[String] = val gs = e.groups diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSynonymsProcessor.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSynonymsProcessor.scala index f6d6e551..0102a158 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSynonymsProcessor.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/parsers/impl/NCSemanticSynonymsProcessor.scala @@ -117,12 +117,12 @@ private[parsers] object NCSemanticSynonymsProcessor extends LazyLogging: // Duplicates. val ids = mutable.HashSet.empty[String] - for (id <- elems.map(_.getId)) + for (id <- elems.map(_.getType)) if ids.contains(id) then E(s"Duplicate element ID [element=$id]") else ids += id for (e <- elems) - val elemId = e.getId + val elemId = e.getType if elemId == null || elemId.isEmpty then E(s"Some element IDs are not provided or empty.") else if !elemId.matches(ID_REGEX) then E(s"Element ID does not match regex [element=$elemId, regex=$ID_REGEX]") @@ -227,7 +227,7 @@ private[parsers] object NCSemanticSynonymsProcessor extends LazyLogging: val buf = mutable.ArrayBuffer.empty[Holder] for (e <- elements) - val elemId = e.getId + val elemId = e.getType def add(syns: Seq[NCSemanticSynonym]): Unit = buf ++= syns.map(Holder(_, elemId)) def addSpec(txt: String, value: String = null): Unit = diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala index 7af99aa6..d7af5abd 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala @@ -59,9 +59,9 @@ class NCConversationManagerSpec extends AnyFunSuite: checkSize(2) // Partially cleared. - conv.clear(_.getId == "e1") + conv.clear(_.getType == "e1") checkSize(1) - require(conv.getEntities.head.getId == "e2") + require(conv.getEntities.head.getType == "e2") } test("test timeout") { diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala index ddbb5ebf..89760017 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala @@ -34,7 +34,7 @@ class NCModelClientSpec extends AnyFunSuite: * @param e */ private def s(e: NCEntity): String = - s"Entity [id=${e.getId}, text=${e.mkText}, properties={${e.keysSet.map(k => s"$k=${e(k)}")}}]" + s"Entity [id=${e.getType}, text=${e.mkText}, properties={${e.keysSet.map(k => s"$k=${e(k)}")}}]" /** * diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala index f6c84d55..b2ea96eb 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala @@ -98,7 +98,7 @@ private[functions] object NCIDLFunctions: * * @param e */ - private def e2s(e: NCEntity): String = s"${e.getId} (${e.getTokens.map(_.getText).mkString(" ")})" + private def e2s(e: NCEntity): String = s"${e.getType} (${e.getTokens.map(_.getText).mkString(" ")})" /** * @@ -136,7 +136,7 @@ private[functions] object NCIDLFunctions: /** * - * @param id + * @param typ * @param reqId * @param value * @param groups @@ -144,16 +144,16 @@ private[functions] object NCIDLFunctions: * @param tokens */ def mkEntity( - id: String = UUID.randomUUID().toString, + typ: String = UUID.randomUUID().toString, reqId: String = UUID.randomUUID().toString, - value: String = null, + value: String = null, groups: Set[String] = null, meta: Map[String, AnyRef] = Map.empty[String, AnyRef], tokens: Seq[NCTestToken] ): NCEntity = require(tokens.nonEmpty) - NCTestEntity(id, reqId, groups, meta, tokens) + NCTestEntity(typ, reqId, groups, meta, tokens) import org.apache.nlpcraft.internal.intent.compiler.functions.NCIDLFunctions.* diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntitiesUsed.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntitiesUsed.scala index 63b3f19b..2506d1f9 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntitiesUsed.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntitiesUsed.scala @@ -28,8 +28,8 @@ import org.apache.nlpcraft.* */ class NCIDLFunctionsEntitiesUsed extends NCIDLFunctions: test("test") { - val e1 = mkEntity(id = "a", tokens = NCTestToken()) - val e2 = mkEntity(id = "b", tokens = NCTestToken()) + val e1 = mkEntity(typ = "a", tokens = NCTestToken()) + val e2 = mkEntity(typ = "b", tokens = NCTestToken()) test( TestDesc( diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntity.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntity.scala index b55b6af5..2c2a8766 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntity.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsEntity.scala @@ -38,24 +38,24 @@ class NCIDLFunctionsEntity extends NCIDLFunctions: test( TestDesc( truth = "# == 'a'", - entity = mkEntity(id = "a", tokens = t1t2) + entity = mkEntity(typ = "a", tokens = t1t2) ), TestDesc( - truth = "ent_id == 'a'", - entity = mkEntity(id = "a", tokens = t1t2) + truth = "ent_type == 'a'", + entity = mkEntity(typ = "a", tokens = t1t2) ), TestDesc( truth = "ent_index == 100", - entity = mkEntity(id = "a", tokens = NCTestToken(txt = "w2", idx = 100)) + entity = mkEntity(typ = "a", tokens = NCTestToken(txt = "w2", idx = 100)) ), TestDesc( truth = "ent_text == 'W1 w2'", - entity = mkEntity(id = "a", tokens = t1t2) + entity = mkEntity(typ = "a", tokens = t1t2) ), TestDesc( truth = "ent_count == 1", - entity = mkEntity(id = "a", tokens = t1t2) + entity = mkEntity(typ = "a", tokens = t1t2) ), TestDesc( truth = "ent_this() == ent_this()", @@ -63,18 +63,18 @@ class NCIDLFunctionsEntity extends NCIDLFunctions: ), TestDesc( truth = "ent_groups() == list('g1', 'g2')", - entity = mkEntity(id = "a", groups = Set("g1", "g2"), tokens = t1t2) + entity = mkEntity(typ = "a", groups = Set("g1", "g2"), tokens = t1t2) ), TestDesc( truth = "ent_groups() == list('a')", - entity = mkEntity(id = "a", tokens = t1t2) + entity = mkEntity(typ = "a", tokens = t1t2) ) ) } test("test tokens first and last") { - val e1 = mkEntity(id = "a", tokens = NCTestToken(idx = 0)) - val e2 = mkEntity(id = "b", tokens = NCTestToken(idx = 1)) + val e1 = mkEntity(typ = "a", tokens = NCTestToken(idx = 0)) + val e2 = mkEntity(typ = "b", tokens = NCTestToken(idx = 1)) val ctx = mkIdlContext(entities = Seq(e1, e2)) @@ -93,8 +93,8 @@ class NCIDLFunctionsEntity extends NCIDLFunctions: } test("test before and after") { - val e1 = mkEntity(id = "1", tokens = NCTestToken(idx = 0)) - val e2 = mkEntity(id = "2", tokens = NCTestToken(idx = 1)) + val e1 = mkEntity(typ = "1", tokens = NCTestToken(idx = 0)) + val e2 = mkEntity(typ = "2", tokens = NCTestToken(idx = 1)) val ctx = mkIdlContext(Seq(e1, e2)) @@ -123,9 +123,9 @@ class NCIDLFunctionsEntity extends NCIDLFunctions: } test("test between") { - val e1 = mkEntity(id = "1", groups = Set("grp1"), tokens = NCTestToken(idx = 0)) - val e2 = mkEntity(id = "2", groups = Set("grp2"), tokens = NCTestToken(idx = 1)) - val e3 = mkEntity(id = "3", groups = Set("grp3"), tokens = NCTestToken(idx = 2)) + val e1 = mkEntity(typ = "1", groups = Set("grp1"), tokens = NCTestToken(idx = 0)) + val e2 = mkEntity(typ = "2", groups = Set("grp2"), tokens = NCTestToken(idx = 1)) + val e3 = mkEntity(typ = "3", groups = Set("grp3"), tokens = NCTestToken(idx = 2)) val ctx = mkIdlContext(Seq(e1, e2, e3)) @@ -144,9 +144,9 @@ class NCIDLFunctionsEntity extends NCIDLFunctions: } test("test all methods") { - val e1 = mkEntity(id = "1", tokens = NCTestToken()) - val e2 = mkEntity(id = "2", groups = Set("g", "z", "w"), tokens = NCTestToken()) - val e3 = mkEntity(id = "2", tokens = NCTestToken()) + val e1 = mkEntity(typ = "1", tokens = NCTestToken()) + val e2 = mkEntity(typ = "2", groups = Set("g", "z", "w"), tokens = NCTestToken()) + val e3 = mkEntity(typ = "2", tokens = NCTestToken()) val ctx = mkIdlContext(Seq(e1, e2, e3)) diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/test_ok.idl b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/test_ok.idl index 41afdb3a..8dc795ee 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/test_ok.idl +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/test_ok.idl @@ -21,7 +21,7 @@ // Re-usable predicate #1. fragment=p1 - term={ent_id == 2} + term={ent_type == 2} term={meta_frag('a') && has_any(get(meta_frag('b'), 'Москва'), list(1, 2))} term(alias)={mdl_id == "test.mdl.id"} diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityMapperSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityMapperSpec.scala index 754dcd91..9b32ab7f 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityMapperSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityMapperSpec.scala @@ -31,7 +31,7 @@ import scala.util.Using class NCEntityMapperSpec extends AnyFunSuite: private case class Combiner(ids: String*) extends NCEntityMapper: override def map(req: NCRequest, cfg: NCModelConfig, es: List[NCEntity]): List[NCEntity] = - val replaced = es.filter(p => ids.contains(p.getId)) + val replaced = es.filter(p => ids.contains(p.getType)) if replaced.isEmpty then es @@ -39,7 +39,7 @@ class NCEntityMapperSpec extends AnyFunSuite: val newEntity: NCEntity = new NCPropertyMapAdapter with NCEntity: override val getTokens: List[NCToken] = replaced.flatMap(_.getTokens).sortBy(_.getIndex).toList override val getRequestId: String = req.getRequestId - override val getId: String = ids.mkString + override val getType: String = ids.mkString val buf = collection.mutable.ArrayBuffer.empty[NCEntity] buf ++= es diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityParserSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityParserSpec.scala index db7c179e..ca036729 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityParserSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityParserSpec.scala @@ -36,7 +36,7 @@ object NCEntityParserSpec: val ent: NCEntity = new NCPropertyMapAdapter with NCEntity : override def getTokens: List[NCToken] = toks override def getRequestId: String = req.getRequestId - override def getId: String = "quoted" + override def getType: String = "quoted" List(ent) else List.empty diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserJsonSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserJsonSpec.scala index d7c62a57..68ce0ed7 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserJsonSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserJsonSpec.scala @@ -46,7 +46,7 @@ class NCSemanticEntityParserJsonSpec extends AnyFunSuite: val tok = ents.head - require(tok.getId == id) + require(tok.getType == id) elemData match case Some(m) => m.foreach { (k, v) => require(tok[Any](s"$id:$k") == v) } case None => // No-op. diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserLemmaSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserLemmaSpec.scala index a443eae1..312c85ef 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserLemmaSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserLemmaSpec.scala @@ -80,7 +80,7 @@ class NCSemanticEntityParserLemmaSpec extends AnyFunSuite: for (expData <- expVrnts) val idx = vrnts.zipWithIndex. - find { case (v, _) => expData == v.getEntities.map(e => Data(e.mkText, e.getId)) }. + find { case (v, _) => expData == v.getEntities.map(e => Data(e.mkText, e.getType)) }. getOrElse(throw new AssertionError(s"Cannot find variant: $expData"))._2 vrnts.remove(idx) diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserSpec.scala index 515806cf..e813a45f 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserSpec.scala @@ -55,11 +55,11 @@ class NCSemanticEntityParserSpec extends AnyFunSuite: /** * * @param txt - * @param id + * @param typ * @param value * @param elemData */ - private def check(txt: String, id: String, value: Option[String] = None, elemData: Option[Map[String, Any]] = None): Unit = + private def check(txt: String, typ: String, value: Option[String] = None, elemData: Option[Map[String, Any]] = None): Unit = val req = NCTestRequest(txt) val toks = EN_TOK_PARSER.tokenize(txt) @@ -74,21 +74,21 @@ class NCSemanticEntityParserSpec extends AnyFunSuite: require(ents.sizeIs == 1) val e = ents.head - require(e.getId == id) + require(e.getType == typ) value match - case Some(v) => require(e[Any](s"$id:value") == v) + case Some(v) => require(e[Any](s"$typ:value") == v) case None => // No-op. elemData match - case Some(m) => m.foreach { (k, v) => require(e[Any](s"$id:$k") == v) } + case Some(m) => m.foreach { (k, v) => require(e[Any](s"$typ:$k") == v) } case None => // No-op. /** * * @param txt - * @param ids + * @param types */ - private def checkMultiple(txt: String, ids: String*): Unit = + private def checkMultiple(txt: String, types: String*): Unit = val req = NCTestRequest(txt) val toks = EN_TOK_PARSER.tokenize(txt) @@ -100,8 +100,8 @@ class NCSemanticEntityParserSpec extends AnyFunSuite: val ents = semParser.parse(req, CFG, toks) NCTestUtils.printEntities(txt, ents) - require(ents.sizeIs == ids.size) - ents.map(_.getId).sorted.zip(ids.sorted).foreach { case (eId, id) => require(eId == id) } + require(ents.sizeIs == types.size) + ents.map(_.getType).sorted.zip(types.sorted).foreach { case (eTyp, typ) => require(eTyp == typ) } /** * diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserYamlSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserYamlSpec.scala index 1828b759..5239ce1f 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserYamlSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParserYamlSpec.scala @@ -45,7 +45,7 @@ class NCSemanticEntityParserYamlSpec extends AnyFunSuite: val tok = ents.head - require(tok.getId == id) + require(tok.getType == id) /** * diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticTestElement.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticTestElement.scala index b4090868..ee58ecd0 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticTestElement.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/parsers/NCSemanticTestElement.scala @@ -36,7 +36,7 @@ case class NCSemanticTestElement( groups: Seq[String] = Seq.empty, props: Map[String, AnyRef] = Map.empty ) extends NCSemanticElement: - override val getId: String = id + override val getType: String = id override val getGroups: Set[String] = groups.toSet override val getValues: Map[String, Set[String]] = values override val getSynonyms: Set[String] = synonyms diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestEntity.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestEntity.scala index 203e35ec..8dd85ef0 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestEntity.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestEntity.scala @@ -24,20 +24,20 @@ import org.apache.nlpcraft.nlp.util.NCTestPipeline.* * */ object NCTestEntity: - def apply(id: String, token: NCTestToken) = new NCTestEntity(id, tokens = Seq(token)) - def apply(id: String, reqId: String, token: NCTestToken) = new NCTestEntity(id, reqId, tokens = Seq(token)) + def apply(typ: String, token: NCTestToken) = new NCTestEntity(typ, tokens = Seq(token)) + def apply(typ: String, reqId: String, token: NCTestToken) = new NCTestEntity(typ, reqId, tokens = Seq(token)) /** * Entity test implementation. * - * @param id + * @param typ * @param reqId * @param groups * @param meta * @param tokens */ case class NCTestEntity( - id: String, + typ: String, reqId: String = null, groups: Set[String] = null, meta: Map[String, AnyRef] = null, @@ -47,5 +47,5 @@ case class NCTestEntity( override def getTokens: List[NCToken] = tokens.toList override def getRequestId: String = reqId - override def getGroups: Set[String] = if groups != null then groups else Set(id) - override def getId: String = id \ No newline at end of file + override def getGroups: Set[String] = if groups != null then groups else Set(typ) + override def getType: String = typ \ No newline at end of file diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala index 8afc5cf8..556f5e3f 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala @@ -71,7 +71,7 @@ object NCTestUtils: for (e <- ents) val toks = e.getTokens tbl += ( - e.getId, + e.getType, toks.map(_.getText).mkString("|"), toks.map(p => s"${p.getStartCharIndex}-${p.getEndCharIndex}").mkString("|"), mkProps(e) @@ -93,7 +93,7 @@ object NCTestUtils: for (e <- v.getEntities) val toks = e.getTokens tbl += ( - e.getId, + e.getType, toks.map(_.getText).mkString("|"), toks.map(p => s"${p.getStartCharIndex}-${p.getEndCharIndex}").mkString("|"), mkProps(e)
