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/06/04 00:57:17 UTC
[incubator-nlpcraft-website] 01/02: WIP.
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
commit e854b6ff08269a13738725636e18433460e10f6e
Author: Aaron Radzinski <ar...@apache.org>
AuthorDate: Thu Jun 3 15:22:58 2021 -0700
WIP.
---
_data/blogs.yaml | 9 +++
_data/news.yml | 9 +++
blogs/nlpcraft-idl-intent-definition-language.html | 74 ++++++++++++++++++++++
3 files changed, 92 insertions(+)
diff --git a/_data/blogs.yaml b/_data/blogs.yaml
index fe03c2f..3995b05 100644
--- a/_data/blogs.yaml
+++ b/_data/blogs.yaml
@@ -15,6 +15,15 @@
# limitations under the License.
#
+- title: NLPCraft IDL - Intent Definition Language
+ url: /blogs/nlpcraft-idl-intent-definition-language.html
+ excerpt: Most of the NLP tasks start with the basic challenge - how to find or detect something in the text...
+ author: Aaron Radzinski
+ publish_date: June 3, 2021
+ avatar_url: images/lion.jpg
+ twitter_id: aaron_radzinski
+ href_target: _self
+
- title: Программируемые NER компоненты
url: https://habr.com/ru/post/543786/
excerpt: В данной заметке мы продолжим говорить о NER компонентах и попытаемся определить условия, в которых нам начинает недоставать функционала стандартных компонентов и стоит задуматься о программировании своих собственных...
diff --git a/_data/news.yml b/_data/news.yml
index 52769fe..e49df15 100644
--- a/_data/news.yml
+++ b/_data/news.yml
@@ -15,6 +15,15 @@
# limitations under the License.
#
+- title: NLPCraft IDL - Intent Definition Language
+ url: /blogs/nlpcraft-idl-intent-definition-language.html
+ excerpt: Most of the NLP tasks start with the basic challenge - how to find or detect something in the text...
+ author: Aaron Radzinski
+ publish_date: June 3, 2021
+ avatar_url: images/lion.jpg
+ twitter_id: aaron_radzinski
+ href_target: _self
+
- title: 📢 Apache NLPCraft 0.7.5 Released
url: /relnotes/release-notes-0.7.5.html
excerpt: Download NLPCraft 0.7.5. Over 50 💪 fixes, improvements and enhancements.
diff --git a/blogs/nlpcraft-idl-intent-definition-language.html b/blogs/nlpcraft-idl-intent-definition-language.html
new file mode 100644
index 0000000..1373f31
--- /dev/null
+++ b/blogs/nlpcraft-idl-intent-definition-language.html
@@ -0,0 +1,74 @@
+---
+active_crumb: NLPCraft IDL - Intent Definition Language
+layout: blog
+blog_title: NLPCraft IDL - Intent Definition Language
+author_name: Aaron Radzinski
+author_avatar: images/lion.jpg
+author_twitter_id: aaron_radzinski
+publish_date: June 3, 2021
+---
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<section>
+ <div class="bq info">
+ This blog is an English adaptation of Sergey Kamov's <a target=habr href="https://habr.com/ru/post/559716">blog</a> written in Russian.
+ </div>
+ <p>
+ This article is a second part of the article <a target=habr href="https://habr.com/ru/post/534034/">Designing intents with Apache NlpCraft</a>
+ <img alt="" src="/images/ru-flag-128x128.png" width="24"> and contains a detailed description of
+ NLPCraft IDL - Intent Definition Language, created for NLP projects based on the Apache NlpCraft.
+ NLPCraft IDL support has been added to the system since version <a href="/download.html">0.7.5</a>.
+ </p>
+ <p>
+ The declarative Intent Definition Language, called <a href="/intent-matching.html">NLPCraft IDL</a>, significantly simplifies the process of
+ working with intents in NLP-based dialog and search systems developed using Apache NLPsCraft and at the same time
+ expands the capabilities of them.
+ </p>
+ <p>
+ Let's start with examples to demonstrate the general capabilities of the language, provide the necessary explanations,
+ and then describe the design of the language a bit more formally.
+ </p>
+ <div class="bq info">
+ Note that at the point of choosing the best matching intent, NLP systems, in general, already have a parsed and processed
+ user input request, which contains combinations of request’s tokens and other related information.
+ </div>
+</section>
+<section>
+ <h2 class="section-title">Examples <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+ <pre class="brush: idl">
+ intent=xa
+ flow="^(?:login)(^:logout)*$"
+ meta={'enabled': true}
+ term(a)={!(tok_id()) != "z"}[1,3]
+ term(b)={
+ meta_intent('enabled') == true &&
+ month() == 1
+ }
+ term(c)~{
+ @tokId = tok_id()
+ @usrTypes = meta_model('user_types')
+
+ (tokId == 'order' || tokId == 'order_cancel') &&
+ has_all(@usrTypes, list(1, 2, 3) &&
+ abs(meta_tok('order:size')) > 10)
+ </pre>
+</section>
+
+
+