blob: 2f21f442142b1c8c4c735c487b3f7191357d2fb1 [file] [log] [blame]
---
layout: default
---
<!--
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 id="banner-box" class="bottom-arrow">
<div id="inner-banner-box">
<div id="banner">
<div id="nat-lang-itf">Apache NLPCraft</div>
<h1 id="banner-sub-title">An API to convert natural language into actions</h1>
<div>
<a id="get-started-btn" role="button" href="docs.html" class="btn mt-5">GET STARTED <i class="ml-2 fas fa-angle-right"></i></a>
</div>
</div>
</div>
</div>
<div id="about-nlpcraft" class="bottom-arrow main-section">
<div class="container-fluid">
<div class="row">
<div class="col-4">
<h2 class="section-title">What Is <span>NLPCraft</span></h2>
<section>
<p>
Apache NLPCraft&reg; is an open source library for adding natural language Interface
to any applications. Based on semantic modelling it allows rapid implementation and
requires no model training or pre-existing text corpora.
</p>
<p>
Define a semantic model and intents to interpret
user input using any JVM-based language like Java, Scala, Groovy or Kotlin. Deploy the model and use REST API to explore the data using natural language.
</p>
<div class="learn-more">
<a href="docs.html">Learn more <i class="align-text-bottom fas fa-angle-right"></i></a>
</div>
</section>
</div>
<div class="col-4">
<h2 class="section-title">Natural <span>Language</span></h2>
<section>
<p>
Natural Language Interface (NLI) enables users to explore any type of data
sources using natural language augmenting existing UI/UX with fidelity
and simplicity of a familiar spoken language.
</p>
<p>
There is no learning curve, no special rules or UI to master, no cumbersome syntax or terms to remember -
just a natural language that your users already speak.
</p>
</section>
</div>
<div class="col-4">
<h2 class="section-title">Quick <span>Links</span></h2>
<section>
<div class="quick-link" >
<a href="https://github.com/apache/incubator-nlpcraft" target="github">
<img
class="quick-link-img"
src="{{ 'images/github_logo.png' | relative_url }}" alt="">
</a>
<div class="gh-btn">
<a
class="github-button"
href="https://github.com/apache/incubator-nlpcraft/subscription"
data-icon="octicon-eye"
aria-label="Watch on GitHub">Watch</a>
</div>
<div class="gh-btn">
<a
class="github-button"
href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples"
aria-label="NLPCraft examples on GitHub">Examples</a>
</div>
<a target=_ href="https://gitter.im/apache-nlpcraft/community"><img alt="Gitter" src="https://badges.gitter.im/apache-nlpcraft/community.svg"></a>
</div>
<div class="quick-link" >
<a href="/apis/latest/index.html" target="_">
<img alt="" class="quick-link-img" src="{{ 'images/java.png' | relative_url }}">
<span class="txt">Latest&nbsp;</span>
<a target="_" href="https://javadoc.io/doc/org.apache.nlpcraft/nlpcraft"><img src="https://javadoc.io/badge/org.apache.nlpcraft/nlpcraft.svg" alt="Javadocs"></a>
</a>
<a href="https://github.com/apache/incubator-nlpcraft/blob/master/openapi/nlpcraft_swagger.yml" target="github" style="margin-left: 20px">
<img alt="" class="quick-link-img" src="{{ 'images/swagger.png' | relative_url }}"><span class="txt">REST API</span>
</a>
</div>
<div class="quick-link">
<img alt="" class="quick-link-img" src="{{ 'images/apache_20_logo2.png' | relative_url }}">
<a target="asf" href="https://www.apache.org/events/current-event.html"><span class="txt">Events</span></a>
<span class="sep"></span>
<a target="asf" href="https://www.apache.org/licenses/"><span class="txt">License</span></a>
<span class="sep"></span>
<a target="asf" href="https://www.apache.org/security"><span class="txt">Security</span></a>
<span class="sep"></span>
<a target="asf" href="https://www.apache.org/foundation/thanks.html"><span class="txt">Thanks</span></a>
<span class="sep"></span>
<a target="asf" href="https://www.apache.org/foundation/sponsorship.html"><span class="txt">Sponsorship</span></a>
</div>
</section>
</div>
</div>
</div>
</div>
<div id="features" class="bottom-arrow main-section">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<h2 class="section-title">Key <span>Features</span></h2>
</div>
</div>
<div class="row">
<div class="col-4">
<h3 class="sub-section-title">Semantic Modeling</h3>
<section>
<p>
Advanced semantic modelling and intent-based matching enables
deterministic natural language understanding without
requiring deep learning training or pre-existing text corpora.
</p>
</section>
</div>
<div class="col-4">
<h3 class="sub-section-title">Any Data Source</h3>
<section>
<p>
Any data source, device, or service - public or private. From databases and SaaS systems,
to smart home devices, voice assistants and chatbots.
</p>
</section>
</div>
<div class="col-4">
<h3 class="sub-section-title">Java-First</h3>
<section>
<p>
REST API and Java-based implementation natively
support world's largest ecosystem of development tools, programming languages and services.
</p>
</section>
</div>
</div>
<div class="row mt-4">
<div class="col-4">
<h3 class="sub-section-title">Strong Security</h3>
<section>
<p>
HTTPs, model deployment isolation, 256-bit encryption and ingress-only connectivity are
among the key security features in NLPCraft.
</p>
</section>
</div>
<div class="col-4">
<h3 class="sub-section-title">Model-As-A-Code</h3>
<section>
<p>
Model-as-a-code convention natively
supports any system development life cycle tools and frameworks in Java eco-system.
</p>
</section>
</div>
<div class="col-4">
<h3 class="sub-section-title">Out-Of-The-Box Integration</h3>
<section>
<p>
NLPCraft natively <a href="/integrations.html">integrates</a> with 3rd party libraries for base NLP processing
and named entity recognition:
</p>
<div id="integration-logos">
<a target=_ href="https://opennlp.apache.org"><img src="/images/opennlp-logo.png" height="32px" alt=""></a>
<a target=_ href="https://cloud.google.com/natural-language/"><img src="/images/google-cloud-logo-small.png" height="32px" alt=""></a>
<a target=_ href="https://stanfordnlp.github.io/CoreNLP"><img src="/images/corenlp-logo.gif" height="48px" alt=""></a>
<a target=_ href="https://spacy.io"><img src="/images/spacy-logo.png" height="32px" alt=""></a>
</div>
</section>
</div>
</div>
<div class="learn-more">
<a href="docs.html">Learn more <i class="align-text-bottom fas fa-angle-right"></i></a>
</div>
</div>
</div>
<div id="howitworks" class="bottom-arrow main-section">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<h2 class="section-title">How <span>It Works</span></h2>
</div>
</div>
<div class="row d-flex flex-wrap align-items-center">
<div class="col-6">
<section>
<p>
There are three main software components:
<p>
<b>Data model</b> specifies how to interpret user input, how to query a data
source, and how to format the result back. Developers use model-as-a-code approach
to build models using any JVM language like Java, Scala, Groovy or Kotlin.
<p>
<b>Data probe</b> is a DMZ-deployed application designed to securely
deploy and manage data models. Each probe can manage multiple models and you can
have many probes.
<p>
<b>REST server</b> provides REST endpoint for user applications to securely query data
sources using NLI via data models deployed in data probes.
</p>
</section>
</div>
<div class="col-6">
<center>
<img class="img-fluid" src="{{ 'images/homepage-fig1.1.png' | relative_url}}" alt="">
</center>
</div>
</div>
<div class="learn-more">
<a href="docs.html">Learn more <i class="align-text-bottom fas fa-angle-right"></i></a>
</div>
</div>
</div>
<div id="news" class="bottom-arrow main-section">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<h2 class="section-title">Latest <span>News</span></h2>
</div>
</div>
<div id="news-container" class="row">
{% for news in site.data.news %}
<div class="col-4">
<div class="news-title">
<a href="{{ news.url }}" target=_>
{{ news.title }}
</a>
</div>
<div class="news-excerpt">
{{ news.excerpt}}&nbsp;<a target=_ href="{{ news.url }}"><i class="fas fa-angle-double-right"></i></a>
</div>
<div class="news-footer">
{% if news.avatar_url %}<img class="avatar-img" src="{{ news.avatar_url | relative_url}}" alt="">{% endif %}
{% if news.pub_logo_url %}<img class="pub-logo-img" src="{{ news.pub_logo_url | relative_url}}" alt="">{% endif %}
{% if news.medium_id %}<a class="news-author text-nowrap " target="news" href="https://medium.com/@{{ news.medium_id}}">{{ news.author }}</a>{% endif %}
{% if news.linkedin_id %}<a target="linkedin" href="https://www.linkedin.com/in/{{ news.linkedin_id}}/"><i class="fab fa-fw fa-linkedin"></i></a>{% endif %}
{% if news.medium_id %}<a target="medium" href="https://medium.com/@{{ news.medium_id}}"><i class="fab fa-fw fa-medium"></i></a>{% endif %}
{% if news.twitter_id %}<a target="twitter" href="https://twitter.com/{{ news.twitter_id}}"><i class="fab fa-fw fa-twitter"></i></a>{% endif %}
<span class="text-nowrap news-date">{{ news.publish_date }}</span>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<div id="about" class="bottom-arrow main-section">
<div class="container-fluid">
<div id="about-container" class="row">
<div class="col-12" style="margin-top: 50px;">
<!-- <p align="center">-->
<!-- <a href="https://www.apache.org/licenses/LICENSE-2.0" target=_><img src="{{ 'images/asf20.jpg' | relative_url}}" height="64px" alt=""></a>-->
<!-- </p>-->
<center>
<a href="https://incubator.apache.org/" target=_><img src="{{ 'images/apache_incubator.png' | relative_url}}" height="64px" alt=""></a>
</center>
<p style="font-size: 90%; margin: 2% 20% 0 20%">
Apache NLPCraft is an effort undergoing incubation at The Apache Software Foundation (ASF),
sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a
further review indicates that the infrastructure, communications, and decision making process have
stabilized in a manner consistent with other successful ASF projects. While incubation status is not
necessarily a reflection of the completeness or stability of the code, it does indicate that the
project has yet to be fully endorsed by the ASF. Licensed under the Apache License, Version 2.0.
Apache NLPCraft, Apache, the Apache feather, and the Apache NLPCraft project logo are either
trademarks or registered trademarks of the Apache Software Foundation.
</p>
</div>
</div>
</div>
</div>