This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch NLPCRAFT-491
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-491 by this push:
new 3d449816 WIP
3d449816 is described below
commit 3d449816160d3d3207a33b484eab5003c0af8902
Author: Aaron Radzinski <[email protected]>
AuthorDate: Wed Aug 3 10:57:32 2022 -0700
WIP
---
.../scala/org/apache/nlpcraft/NCCuration.scala | 11 ++--
.../main/scala/org/apache/nlpcraft/NCModel.scala | 77 +++++++++++-----------
2 files changed, 46 insertions(+), 42 deletions(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCCuration.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCCuration.scala
index 7819b585..b49abf58 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCCuration.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCCuration.scala
@@ -19,10 +19,13 @@ package org.apache.nlpcraft
/**
* A type of rejection indicating that human curation is required. Curation
is typically an indication that input
- * query is likely valid but needs a human correction like a type fix, slang
resolution, etc.
- * <p>
+ * query is likely valid but needs a human correction like a typo fix, slang
resolution, etc.
+ *
* Note that NLPCraft does not handle the curation process itself but only
allows to indicate the curation
- * request by throwing this exception. Curation is a special type of
rejection. User code is responsible for the actual
- * handling of the curation logic.
+ * request by throwing this exception. Curation is a special type of
rejection. The user code is responsible for
+ * he actual handling of the curation logic.
+ *
+ * @param msg Curation message.
+ * @param cause Optional cause of this exception.
*/
class NCCuration(msg: String, cause: Throwable = null) extends
NCRejection(msg, cause)
\ No newline at end of file
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.scala
index 6a121a29..8e5a1de1 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.scala
@@ -18,51 +18,52 @@
package org.apache.nlpcraft
/**
- * User data model
- * <p>
- * Data model is a holder for user-define NLP processing logic that provides
an interface to your data sources like a
- * database or a SaaS application. NLPCraft employs model-as-a-code approach
where entire data model is an
- * implementation of this interface which can be developed using any JVM
programming language like Java, Scala,
- * Kotlin, or Groovy. The instance of this interface is passed to {@link
NCModelClient} class and contains:
- * <ul>
- * <li>Model {@link # getConfig ( ) configurfation}.</li>
- * <li>Model {@link # getPipeline ( ) processing pipeline}.</li>
- * <li>Life-cycle callbacks.</li>
- * </ul>
- * Note that model-as-a-code approach natively supports any software life
cycle tools and frameworks like various
- * build tools, CI/SCM tools, IDEs, etc. You don't need an additional
web-based tools to manage
+ * User data model.
+ *
+ * Data model is a holder for user-defined NLP processing logic. NLPCraft
employs model-as-a-code approach where
+ * entire data model is an implementation of this interface which can be
simply developed using any JVM programming
+ * language like Java, Scala, Kotlin, or Groovy.
+ *
+ * The instance of this interface is passed to [[NCModelClient]] class and
contains:
+ * - Model [[NCModel.getConfig configuration]].
+ * - Model [[NCModel.getPipeline processing pipeline]].
+ * - Life-cycle callbacks.
+ *
+ * Note that this model-as-a-code approach natively supports any software
life cycle tools and frameworks like various
+ * build tools, CI/SCM tools, IDEs, etc. You don't need any additional tools
to manage
* some aspects of your data models - your entire model and all of its
components are part of your project's source code.
- * <p>
- * In most cases, one would use a convenient {@link NCModelAdapter} adapter
to implement this interface. Here's a snippet
+ *
+ * In most cases, one would use a convenient [[NCModelAdapter]] adapter to
implement this interface. Here's a snippet
* of the user data model from LightSwitch example:
- * <pre class="brush: java, highlight: [1]">
+ * {{{
* public class LightSwitchJavaModel extends NCModelAdapter {
- * public LightSwitchJavaModel() {
- * super(
- * new NCModelConfig("nlpcraft.lightswitch.java.ex", "LightSwitch Example
Model", "1.0"),
- * new NCPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
- * );
- * }
+ * public LightSwitchJavaModel() {
+ * super(
+ * new NCModelConfig("nlpcraft.lightswitch.java.ex", "LightSwitch
Example Model", "1.0"),
+ * new NCPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
+ * );
+ * }
*
- * @NCIntent("intent=ls term(act)={has(ent_groups, 'act')} term(loc)={#
== 'ls:loc'}*")
- * NCResult onMatch(
- * @NCIntentTerm("act") NCEntity actEnt,
- * @NCIntentTerm("loc") List<NCEntity> locEnts
- * ) {
- * String status=actEnt.getId().equals("ls:on")?"on":"off";
- * String locations=locEnts.isEmpty() ? "entire house":
- * locEnts.stream().map(NCEntity::mkText).collect(Collectors.joining(", "));
+ * @NCIntent("intent=ls term(act)={has(ent_groups, 'act')}
term(loc)={# == 'ls:loc'}*")
+ * NCResult onMatch(
+ * @NCIntentTerm("act") NCEntity actEnt,
+ * @NCIntentTerm("loc") List<NCEntity> locEnts
+ * ) {
+ * String status=actEnt.getId().equals("ls:on")?"on":"off";
+ * String locations=locEnts.isEmpty() ? "entire house":
+ *
locEnts.stream().map(NCEntity::mkText).collect(Collectors.joining(", "));
*
- * return new NCResult(
- * "Lights are [" + status + "] in [" + locations.toLowerCase() + "].",
- * NCResultType.ASK_RESULT
- * );
- * }
+ * return new NCResult(
+ * "Lights are [" + status + "] in [" + locations.toLowerCase() +
"].",
+ * NCResultType.ASK_RESULT
+ * );
+ * }
* }
- * </pre>
+ * }}}
*
- * @see NCModelClient
- * @see NCModelAdapter */
+ * @see [[NCModelClient]]
+ * @see [[NCModelAdapter]]
+ */
trait NCModel:
/**
* Gets model configuration.