You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by ar...@apache.org on 2021/07/08 19:41:45 UTC
[incubator-nlpcraft] branch NLPCRAFT-359 updated: WIP on Javadoc in
NLPCRAFT-359
This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch NLPCRAFT-359
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-359 by this push:
new d5c046a WIP on Javadoc in NLPCRAFT-359
d5c046a is described below
commit d5c046a946cb0f75ccc6b15fc51f89e7846c91e6
Author: Aaron Radzinzski <ar...@datalingvo.com>
AuthorDate: Thu Jul 8 12:41:35 2021 -0700
WIP on Javadoc in NLPCRAFT-359
---
.../scala/org/apache/nlpcraft/model/NCIntent.java | 3 +--
.../org/apache/nlpcraft/model/NCIntentRef.java | 5 ++--
.../org/apache/nlpcraft/model/NCIntentSample.java | 28 +++++++++++++---------
3 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntent.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntent.java
index 5aad071..3956e3a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntent.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntent.java
@@ -52,8 +52,7 @@ public @interface NCIntent {
String value() default "";
/**
- * Grouping annotation required for when more than one {@link NCIntent} annotation is attached to the
- * callback or class.
+ * Grouping annotation required for when more than one {@link NCIntent} annotation is used.
*/
@Retention(RetentionPolicy.RUNTIME)
@Documented
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentRef.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentRef.java
index 2130b86..25963a7 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentRef.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentRef.java
@@ -23,7 +23,7 @@ import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
- * Annotations referencing an intent defined outside of callback method declaration. Multiple such annotations
+ * Annotation referencing an intent defined outside of callback method declaration. Multiple such annotations
* can be applied to the callback method. Note that multiple intents can be bound to the same callback method,
* but only one callback method can be bound with a given intent.
* <p>
@@ -50,8 +50,7 @@ public @interface NCIntentRef {
String value() default "";
/**
- * Grouping annotation required for when more than one {@link NCIntentRef} annotation is attached to the
- * callback.
+ * Grouping annotation required for when more than one {@link NCIntentRef} annotation is used.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value=METHOD)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentSample.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentSample.java
index c3b0199..d50f689 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentSample.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCIntentSample.java
@@ -24,7 +24,7 @@ import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
/**
- * Annotation to define one or more samples (a corpus) of the user input that should match a corresponding intent. This
+ * Annotation to define samples of the user input that should match an intent. This
* annotation should be used together with {@link NCIntent} or {@link NCIntentRef} annotations on the callback
* methods. Method can have multiple annotations of this type and each annotation can define multiple input
* examples. See similar {@link NCIntentSampleRef} annotation that allows to load samples from external resources like
@@ -33,16 +33,23 @@ import static java.lang.annotation.RetentionPolicy.*;
* The corpus of intent samples serve several important roles in NLPCraft:
* <ul>
* <li>
- *
+ * It provide code level documentation on what type of user input given intent is supposed to match on.
+ * In many cases having {@link NCIntent} and {@link NCIntentSample} annotations on the intent callback
+ * method allows to see all the main ingredients of the language comprehension in one place.
+ * </li>
+ * <li>
+ * It provides a necessary corpus for automated unit and regression testing used by
+ * {@link NCTestAutoModelValidator} class from
+ * <a href="https://nlpcraft.apache.org/tools/test_framework.html">built-in test framework</a>.
+ * This class auto-validates that provided samples are matched on by their corresponding intents.
+ * </li>
+ * <li>
+ * This corpus is used by various statistical tools like
+ * <a href="https://nlpcraft.apache.org/tools/syn_tool.html">synonyms tool</a> and category value enrichment. Both
+ * of these tools utilize Google's BERT and Facebook fasttext models and require at least minimal corpus of
+ * samples for each intent.
* </li>
* </ul>
- *
- *
- *
- *
- * Note that the samples provided by this annotation not only serve the documentation purpose but are also
- * used by {@link NCTestAutoModelValidator} class from built-in test framework for auto-validation between
- * data models and intents.
* <p>
* Here's an example of using this annotation (from <a target=_new href="https://nlpcraft.apache.org/examples/light_switch.html">LightSwitch</a> example):
* <pre class="brush: java, highlight: [2]">
@@ -86,8 +93,7 @@ public @interface NCIntentSample {
String[] value();
/**
- * Grouping annotation required for when more than one {@link NCIntentSample} annotation is attached to the
- * callback.
+ * Grouping annotation required for when more than one {@link NCIntentSample} annotation is used.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value=METHOD)