| --- |
| active_crumb: Docs |
| layout: documentation |
| id: overview |
| --- |
| |
| <!-- |
| 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. |
| --> |
| |
| <div class="col-md-8 second-column"> |
| <section id="overview"> |
| <h2 class="section-title">Overview <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2> |
| <p> |
| Apache NLPCraft is a Scala3-based <a target=_blank href="https://www.apache.org/licenses/">open source</a> library |
| for adding a natural language interface to modern applications. It allows you to build applications that people can |
| interact with using a natural language augmenting existing UI/UX with fidelity and simplicity of a familiar |
| spoken language. Natural Language has no learning curve, no special rules or cumbersome syntax to master - it's |
| a natural interface that your users already know. |
| </p> |
| <h2 class="section-sub-title">Deterministic Intent Matching <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2> |
| <p> |
| NLPCraft is designed around an advanced |
| <a href="/intent-matching.html">Intent Definition Language</a> (IDL) for defining non-trivial intents and a |
| <em>fully deterministic</em> intent matching algorithm for the input sentences. Full determinism of the NLPCraft is its |
| unique capability in contrast to many ML-based approaches that only provide statistical answer without full |
| guarantee or traceability. Full determinism makes NLPCraft an ideal tool for domain-specific natural language |
| application like command-and-control or mission critical systems vis-a-vis common language comprehension |
| tools like ChatGPT. NLPCraft is also an ideal library for use cases where execution proof or traceability is |
| required, e.g. blockchain decentralized applications. |
| </p> |
| <h2 class="section-sub-title">Data Access <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2> |
| <p> |
| On the backend NLPCraft places no restrictions on what data it can access. |
| NLPCraft can connect with any private or public data source that a typical Scala-based application can access, |
| and has no hardware or software lock-ins. |
| </p> |
| <h2 class="section-sub-title">Supported Languages <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2> |
| <p> |
| NLPCraft is language agnostic and can work with most modern languages that have basic NLP infrastructure available like |
| English, French, German, Spanish, Russian, etc. Note that NLPCraft does not provide its own low-level NLP plumbing |
| like stemmatization and lemmatization and relies on 3rd party libraries like |
| <a href="https://opennlp.apache.org/" target="_blank">OpenNLP</a> or |
| <a href="https://nlp.stanford.edu/" target="_blank">StanfordNLP</a> to be |
| configured to provide that functionality. |
| </p> |
| </section> |
| </div> |
| <div class="col-md-2 third-column"> |
| <ul class="side-nav"> |
| <li class="side-nav-title">On This Page</li> |
| <li><a href="#overview">Overview</a></li> |
| {% include quick-links.html %} |
| </ul> |
| </div> |
| |
| |
| |
| |