This is an automated email from the ASF dual-hosted git repository.

aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 8bee157  Update quick_intro_apache_nlpcraft.html
8bee157 is described below

commit 8bee157229df600f699223d7bd3fda8292d81a40
Author: Aaron Radzinski <[email protected]>
AuthorDate: Sun Mar 28 09:48:08 2021 -0700

    Update quick_intro_apache_nlpcraft.html
---
 blogs/quick_intro_apache_nlpcraft.html | 51 ++++++++++++++++++++--------------
 1 file changed, 30 insertions(+), 21 deletions(-)

diff --git a/blogs/quick_intro_apache_nlpcraft.html 
b/blogs/quick_intro_apache_nlpcraft.html
index 6071a48..c615044 100644
--- a/blogs/quick_intro_apache_nlpcraft.html
+++ b/blogs/quick_intro_apache_nlpcraft.html
@@ -31,7 +31,8 @@ publish_date: November 16, 2020
     </div>
     <p>
         In this short article I would like to introduce Apache NLPCraft - an 
open source library for adding Natural
-        Language Interface to any application. The goal of this project from 
its inception in 2017 was and still is
+        Language Interface to any application. It enables people to interact 
with your products using voice
+        or text. The goal of this project from its inception in 2017 was and 
still is
         unambiguously straightforward - provide an efficient & highly 
productive API to develop advanced NLP-based
         interfaces for modern applications.
     </p>
@@ -48,15 +49,17 @@ publish_date: November 16, 2020
     <div class="container-fluid" style="padding: 0">
         <div class="row">
             <div class="col-6">
-                <b>Programmable Intents</b><br/>
+                <b>Intent Definition Language</b><br/>
                 <p>
-                    Fully programmable, advanced intent DSL with deterministic 
matching provides easy to use and expressive mechanism for a complex intent 
logic.
+                    Advanced <a href="/intent-matching.html">Intent Definition 
Language</a> (IDL) coupled with deterministic intent matching
+                    provide ease of use and unprecedented expressiveness for 
designing real-life, non-trivial intents.
                 </p>
             </div>
             <div class="col-6">
-                <b>Java First</b><br/>
+                <b>Composable Named Entities</b><br/>
                 <p>
-                    REST API and Java-based implementation natively supports 
the world's largest ecosystem of development tools, multiple programming 
languages, frameworks and services.
+                    Easily compose, mix and match new named entities out of 
built-in or external ones, creating new
+                    reusable named entity recognizers on the fly.
                 </p>
             </div>
         </div>
@@ -64,27 +67,30 @@ publish_date: November 16, 2020
             <div class="col-6">
                 <b>Model-As-A-Code</b><br/>
                 <p>
-                    Model-as-a-code convention natively supports any 
development life cycle tools and frameworks in the Java ecosystem.
+                    Everything you do with NLPCraft is part of your source 
code. No more awkward web UIs
+                    splitting your logic across different incompatible places. 
Model-as-a-code is built by
+                    engineers, and it reflects how engineers work.
                 </p>
             </div>
             <div class="col-6">
-                <b>Any Data Source</b><br/>
+                <b>Java First</b><br/>
                 <p>
-                    NLPCraft can work with any data source, device, or service 
- public or private. From databases and SaaS systems, to smart home devices, 
voice assistants and chatbots.
+                    REST API and Java-based implementation natively supports 
the world's largest ecosystem of development tools,
+                    multiple programming languages, frameworks and services.
                 </p>
             </div>
         </div>
         <div class="row">
             <div class="col-6">
-                <b>Short-Term-Memory</b><br/>
+                <b>Any Data Source</b><br/>
                 <p>
-                    Advanced out-of-the-box support for maintaining and 
managing conversational context that is fully integrated with intent matching.
+                    NLPCraft can work with any data source, device, or service 
- public or private. From databases and SaaS systems, to smart home devices, 
voice assistants and chatbots.
                 </p>
             </div>
             <div class="col-6">
-                <b>Composable Named Entities</b><br/>
+                <b>Short-Term-Memory</b><br/>
                 <p>
-                    Compose new reusable Named Entities out of existing 
internal or external ones, build new ones and mix and match using comprehensive 
DSL.
+                    Advanced out-of-the-box support for maintaining and 
managing conversational context that is fully integrated with intent matching.
                 </p>
             </div>
         </div>
@@ -188,7 +194,8 @@ publish_date: November 16, 2020
     <p>
         In NLPCraft the default built-in approach for detecting NEs is a 
synonym matching. For each NE you provide
         a list of synonyms by which it will be found in the input text. To 
make this task really simple NLPCraft
-        comes with a set of tools including macros and Synonym DSL. Here’s the 
static model configuration for our
+        comes with a set of tools including <a 
href="/data-model.html#macros">Macro DSL</a> and <a 
href="/intent-matching.html">Intent Definition Language</a> (IDL).
+        Here’s the static model configuration for our
         example as <code>lightswitch_model.yaml</code> file that includes NE 
definitions and one intent:
     </p>
     <pre class="brush: js, highlight: [14, 21, 29, 38]">
@@ -242,20 +249,21 @@ publish_date: November 16, 2020
             </ul>
         </li>
         <li>
-            We grouped <code>"ls:on"</code> and <code>"ls:off"</code> into 
group <code>"act"</code> for easier use in intent.
+            We grouped <code>"ls:on"</code> and <code>"ls:off"</code> into 
group <code>"act"</code> for easier use in the intent.
         </li>
         <li>
-            Each model element is defined through synonyms using macros and 
Synonym DSL which is similar to Regular Expressions.
+            Each model element is defined through synonyms using <a 
href="/data-model.html#macros">Macro DSL</a>.
         </li>
         <li>
-            Intent <code>"ls"</code> uses Intent DSL. In short - this intent 
will match if we can detect one element
+            Intent <code>"ls"</code> uses <a 
href="/intent-matching.html">Intent Definition Language</a>. In short - this 
intent
+            will match if we can detect one element
             from the group <code>"act"</code> and zero or more 
<code>"ls:loc"</code> elements in any order.
         </li>
     </ul>
     <p>
-        Notice that macros and Synonym DSL allow you to define hundreds and 
often thousands of synonyms for each model
+        Notice that <a href="/data-model.html#macros">Macro DSL</a> allow you 
to define hundreds and often thousands of synonyms for each model
         element with only a few lines of YAML (or JSON). In the above model, 
for example, the three elements have <b>over
-        7,700 unique synonyms</b> after all macros and Synonym DSL expansions.
+        7,700 unique synonyms</b> after all <a 
href="/data-model.html#macros">Macro DSL</a> processing.
     </p>
     <p>
         Now, dealing with synonyms may sound limiting at first. It is, 
however, a surprisingly powerful and flexible mechanism
@@ -264,7 +272,8 @@ publish_date: November 16, 2020
     <ul>
         <li>
             Synonyms can be developed, extended and tested using many tools 
that NLPCraft provides like
-            macros, Synonym DSL and synonym suggester (that uses Google’ BERT 
and Facebook fastText models).
+            <a href="/data-model.html#macros">Macro DSL</a>, <a 
href="/intent-matching.html">Intent Definition Language</a> and
+            <a href="/tools/syn_tool.html">Synonym Suggester</a> (that uses 
Google’ BERT and Facebook fastText models).
         </li>
         <li>
             Classic NLP problems like word-sense disambiguation (“bass” the 
fish, and “bass” the sound) are
@@ -285,7 +294,7 @@ publish_date: November 16, 2020
     </p>
 </section>
 <section>
-    <h2 clas="section-title">Intent Matching</h2>
+    <h2 class="section-title">Intent Matching</h2>
     <p>
         Although full explanation of the <a 
href="/intent-matching.html">intent matching</a> algorithm is outside the scope 
of this article, the basic workflow looks like this:
     </p>
@@ -361,7 +370,7 @@ publish_date: November 16, 2020
         We’ll leave outside of this article the details of the particular 
integration with HomeKit or Arduino devices. We’ll also defer
         to the NLPCraft <a href="/docs.html">documentation</a> to learn about 
other topics such as
         <a href="/basic-concepts.html#stm">conversation management</a>,
-        details of <a href="/intent-matching.html">Intent and Synonym DSLs</a>,
+        details of <a href="/data-model.html#macros">Macro DSL</a> and <a 
href="/intent-matching.html">Intent Definition Language</a>,
         built-in <a href="/tools/test_framework.html">testing tools</a>,
         3rd party NER <a href="/integrations.html">integrations</a>, etc.
     </p>

Reply via email to