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)