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 <[email protected]> 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> + + +
