blob: ebf736fbf1c9407184e93070a3f33a78aa85870b [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.2) on Tue Feb 09 19:37:10 PST 2021 -->
<title>NCModelView (Apache NLPCraft 0.7.4)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-02-09">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="NCModelView (Apache NLPCraft 0.7.4)";
}
}
catch(err) {
}
//-->
var data = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":18,"i5":18,"i6":18,"i7":6,"i8":18,"i9":18,"i10":18,"i11":18,"i12":18,"i13":18,"i14":18,"i15":18,"i16":18,"i17":18,"i18":18,"i19":18,"i20":18,"i21":6,"i22":18,"i23":18,"i24":6,"i25":18,"i26":18,"i27":18,"i28":18,"i29":18,"i30":18,"i31":18,"i32":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script src="https://nlpcraft.apache.org/javadoc/resources/sh/scripts/XRegExp.js" type="text/javascript"></script> <script src="https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shCore.js" type="text/javascript"></script> <script src="https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shAutoloader.js" type="text/javascript"></script> <link href="https://nlpcraft.apache.org/javadoc/resources/sh/styles/shCoreNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="https://nlpcraft.apache.org/javadoc/resources/sh/styles/shThemeNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"> <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NCModelView.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Apache NLPCraft <span style="font-size: 80%">0.7.4</span></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.nlpcraft.model</a></div>
<h2 title="Interface NCModelView" class="title">Interface NCModelView</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a></code></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="NCModel.html" title="interface in org.apache.nlpcraft.model">NCModel</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="NCModelAdapter.html" title="class in org.apache.nlpcraft.model">NCModelAdapter</a></code>, <code><a href="NCModelFileAdapter.html" title="class in org.apache.nlpcraft.model">NCModelFileAdapter</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">NCModelView</span>
extends <a href="NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a></pre>
<div class="block">Read-only view on data model. Model view defines a declarative, or configurable, part of the model.
All properties in this interface can be defined or overridden in JSON/YAML external
presentation when used with <a href="NCModelFileAdapter.html" title="class in org.apache.nlpcraft.model"><code>NCModelFileAdapter</code></a> adapter.
<p>
Read full documentation in <a target=_ href="https://nlpcraft.apache.org/data-model.html">Data Model</a> section and review
<a target=_ href="https://github.com/apache/incubator-nlpcraft/tree/master/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/">examples</a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="NCModel.html" title="interface in org.apache.nlpcraft.model"><code>NCModel</code></a>,
<a href="NCModelAdapter.html" title="class in org.apache.nlpcraft.model"><code>NCModelAdapter</code></a>,
<a href="NCModelFileAdapter.html" title="class in org.apache.nlpcraft.model"><code>NCModelFileAdapter</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_CONV_DEPTH">DFLT_CONV_DEPTH</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getConversationDepth()"><code>getConversationDepth()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_CONV_TIMEOUT_MS">DFLT_CONV_TIMEOUT_MS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getConversationTimeout()"><code>getConversationTimeout()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_ENABLED_BUILTIN_TOKENS">DFLT_ENABLED_BUILTIN_TOKENS</a></span></code></th>
<td class="colLast">
<div class="block">Default set of enabled built-in tokens.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_DUP_SYNONYMS_ALLOWED">DFLT_IS_DUP_SYNONYMS_ALLOWED</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isDupSynonymsAllowed()"><code>isDupSynonymsAllowed()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_NO_NOUNS_ALLOWED">DFLT_IS_NO_NOUNS_ALLOWED</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isNoNounsAllowed()"><code>isNoNounsAllowed()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_NO_USER_TOKENS_ALLOWED">DFLT_IS_NO_USER_TOKENS_ALLOWED</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isNoUserTokensAllowed()"><code>isNoUserTokensAllowed()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_NON_ENGLISH_ALLOWED">DFLT_IS_NON_ENGLISH_ALLOWED</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isNonEnglishAllowed()"><code>isNonEnglishAllowed()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_NOT_LATIN_CHARSET_ALLOWED">DFLT_IS_NOT_LATIN_CHARSET_ALLOWED</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isNotLatinCharsetAllowed()"><code>isNotLatinCharsetAllowed()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_PERMUTATE_SYNONYMS">DFLT_IS_PERMUTATE_SYNONYMS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isPermutateSynonyms()"><code>isPermutateSynonyms()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_IS_SWEAR_WORDS_ALLOWED">DFLT_IS_SWEAR_WORDS_ALLOWED</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isSwearWordsAllowed()"><code>isSwearWordsAllowed()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_JIGGLE_FACTOR">DFLT_JIGGLE_FACTOR</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getJiggleFactor()"><code>getJiggleFactor()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_ELEMENT_SYNONYMS">DFLT_MAX_ELEMENT_SYNONYMS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_FREE_WORDS">DFLT_MAX_FREE_WORDS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxFreeWords()"><code>getMaxFreeWords()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_SUSPICIOUS_WORDS">DFLT_MAX_SUSPICIOUS_WORDS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxSuspiciousWords()"><code>getMaxSuspiciousWords()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_SYNONYMS_THRESHOLD_ERROR">DFLT_MAX_SYNONYMS_THRESHOLD_ERROR</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#isMaxSynonymsThresholdError()"><code>isMaxSynonymsThresholdError()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_TOKENS">DFLT_MAX_TOKENS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxTokens()"><code>getMaxTokens()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_TOTAL_SYNONYMS">DFLT_MAX_TOTAL_SYNONYMS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxTotalSynonyms()"><code>getMaxTotalSynonyms()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_UNKNOWN_WORDS">DFLT_MAX_UNKNOWN_WORDS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxUnknownWords()"><code>getMaxUnknownWords()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MAX_WORDS">DFLT_MAX_WORDS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMaxWords()"><code>getMaxWords()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_METADATA">DFLT_METADATA</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getJiggleFactor()"><code>getJiggleFactor()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MIN_NON_STOPWORDS">DFLT_MIN_NON_STOPWORDS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMinNonStopwords()"><code>getMinNonStopwords()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MIN_TOKENS">DFLT_MIN_TOKENS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMinTokens()"><code>getMinTokens()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DFLT_MIN_WORDS">DFLT_MIN_WORDS</a></span></code></th>
<td class="colLast">
<div class="block">Default value for <a href="#getMinWords()"><code>getMinWords()</code></a> method.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAdditionalStopWords()">getAdditionalStopWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets an optional list of stopwords to add to the built-in ones.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConversationDepth()">getConversationDepth</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum number of requests after which the unused conversation element is automatically "forgotten".</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>default long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConversationTimeout()">getConversationTimeout</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets timeout in ms after which the unused conversation element is automatically "forgotten".</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDescription()">getDescription</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets optional short model description.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="NCElement.html" title="interface in org.apache.nlpcraft.model">NCElement</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getElements()">getElements</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets a set of model elements or named entities.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEnabledBuiltInTokens()">getEnabledBuiltInTokens</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets a set of IDs for built-in named entities (tokens) that should be enabled and detected for this model.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExcludedStopWords()">getExcludedStopWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets an optional list of stopwords to exclude from the built-in list of stopwords.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets unique, <i>immutable</i> ID of this model.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getJiggleFactor()">getJiggleFactor</a></span>()</code></th>
<td class="colLast">
<div class="block">Measure of how much sparsity is allowed when user input words are reordered in attempt to
match the multi-word synonyms.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMacros()">getMacros</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets an optional map of macros to be used in this model.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxElementSynonyms()">getMaxElementSynonyms</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum number of unique synonyms per model element after which either warning or error will be
triggered.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxFreeWords()">getMaxFreeWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum number of free words until automatic rejection.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxSuspiciousWords()">getMaxSuspiciousWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum number of suspicious words until automatic rejection.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxTokens()">getMaxTokens</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum number of all tokens (system and user defined) above which user input will be
automatically rejected as too long.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxTotalSynonyms()">getMaxTotalSynonyms</a></span>()</code></th>
<td class="colLast">
<div class="block">Total number of synonyms allowed per model.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxUnknownWords()">getMaxUnknownWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum number of unknown words until automatic rejection.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxWords()">getMaxWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets maximum word count (<i>including</i> stopwords) above which user input will be automatically
rejected as too long.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMetadata()">getMetadata</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets optional user defined model metadata that can be set by the developer and accessed later.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMinNonStopwords()">getMinNonStopwords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets minimum word count (<i>excluding</i> stopwords) below which user input will be automatically rejected
as ambiguous sentence.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMinTokens()">getMinTokens</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets minimum number of all tokens (system and user defined) below which user input will be
automatically rejected as too short.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMinWords()">getMinWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets minimum word count (<i>including</i> stopwords) below which user input will be automatically
rejected as too short.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets descriptive name of this model.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="NCCustomParser.html" title="interface in org.apache.nlpcraft.model">NCCustomParser</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParsers()">getParsers</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets optional user-defined model element parsers for custom NER implementations.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSuspiciousWords()">getSuspiciousWords</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets an optional list of suspicious words.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVersion()">getVersion</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the version of this model using semantic versioning.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDupSynonymsAllowed()">isDupSynonymsAllowed</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not duplicate synonyms are allowed.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isMaxSynonymsThresholdError()">isMaxSynonymsThresholdError</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not exceeding <a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a> will trigger a warning log or throwing an exception.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNonEnglishAllowed()">isNonEnglishAllowed</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not to allow non-English language in user input.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNoNounsAllowed()">isNoNounsAllowed</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not to allow user input without a single noun.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotLatinCharsetAllowed()">isNotLatinCharsetAllowed</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not to allow non-Latin charset in user input.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNoUserTokensAllowed()">isNoUserTokensAllowed</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not to allow the user input with no user token detected.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermutateSynonyms()">isPermutateSynonyms</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not to permutate multi-word synonyms.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSwearWordsAllowed()">isSwearWordsAllowed</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether or not to allow known English swear words in user input.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.nlpcraft.model.NCMetadata">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.nlpcraft.model.<a href="NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a></h3>
<code><a href="NCMetadata.html#meta(java.lang.String)">meta</a>, <a href="NCMetadata.html#meta(java.lang.String,T)">meta</a>, <a href="NCMetadata.html#metaOpt(java.lang.String)">metaOpt</a>, <a href="NCMetadata.html#metax(java.lang.String)">metax</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="DFLT_JIGGLE_FACTOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_JIGGLE_FACTOR</h4>
<pre>static final&nbsp;int DFLT_JIGGLE_FACTOR</pre>
<div class="block">Default value for <a href="#getJiggleFactor()"><code>getJiggleFactor()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_JIGGLE_FACTOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_ELEMENT_SYNONYMS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_ELEMENT_SYNONYMS</h4>
<pre>static final&nbsp;int DFLT_MAX_ELEMENT_SYNONYMS</pre>
<div class="block">Default value for <a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_ELEMENT_SYNONYMS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_TOTAL_SYNONYMS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_TOTAL_SYNONYMS</h4>
<pre>static final&nbsp;int DFLT_MAX_TOTAL_SYNONYMS</pre>
<div class="block">Default value for <a href="#getMaxTotalSynonyms()"><code>getMaxTotalSynonyms()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_TOTAL_SYNONYMS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_SYNONYMS_THRESHOLD_ERROR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_SYNONYMS_THRESHOLD_ERROR</h4>
<pre>static final&nbsp;boolean DFLT_MAX_SYNONYMS_THRESHOLD_ERROR</pre>
<div class="block">Default value for <a href="#isMaxSynonymsThresholdError()"><code>isMaxSynonymsThresholdError()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_SYNONYMS_THRESHOLD_ERROR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_CONV_TIMEOUT_MS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONV_TIMEOUT_MS</h4>
<pre>static final&nbsp;long DFLT_CONV_TIMEOUT_MS</pre>
<div class="block">Default value for <a href="#getConversationTimeout()"><code>getConversationTimeout()</code></a> method.</div>
</li>
</ul>
<a id="DFLT_CONV_DEPTH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONV_DEPTH</h4>
<pre>static final&nbsp;int DFLT_CONV_DEPTH</pre>
<div class="block">Default value for <a href="#getConversationDepth()"><code>getConversationDepth()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_CONV_DEPTH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_METADATA">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_METADATA</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt; DFLT_METADATA</pre>
<div class="block">Default value for <a href="#getJiggleFactor()"><code>getJiggleFactor()</code></a> method.</div>
</li>
</ul>
<a id="DFLT_MAX_UNKNOWN_WORDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_UNKNOWN_WORDS</h4>
<pre>static final&nbsp;int DFLT_MAX_UNKNOWN_WORDS</pre>
<div class="block">Default value for <a href="#getMaxUnknownWords()"><code>getMaxUnknownWords()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_UNKNOWN_WORDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_FREE_WORDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_FREE_WORDS</h4>
<pre>static final&nbsp;int DFLT_MAX_FREE_WORDS</pre>
<div class="block">Default value for <a href="#getMaxFreeWords()"><code>getMaxFreeWords()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_FREE_WORDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_SUSPICIOUS_WORDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_SUSPICIOUS_WORDS</h4>
<pre>static final&nbsp;int DFLT_MAX_SUSPICIOUS_WORDS</pre>
<div class="block">Default value for <a href="#getMaxSuspiciousWords()"><code>getMaxSuspiciousWords()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_SUSPICIOUS_WORDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MIN_WORDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MIN_WORDS</h4>
<pre>static final&nbsp;int DFLT_MIN_WORDS</pre>
<div class="block">Default value for <a href="#getMinWords()"><code>getMinWords()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MIN_WORDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_WORDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_WORDS</h4>
<pre>static final&nbsp;int DFLT_MAX_WORDS</pre>
<div class="block">Default value for <a href="#getMaxWords()"><code>getMaxWords()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_WORDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MIN_TOKENS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MIN_TOKENS</h4>
<pre>static final&nbsp;int DFLT_MIN_TOKENS</pre>
<div class="block">Default value for <a href="#getMinTokens()"><code>getMinTokens()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MIN_TOKENS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MAX_TOKENS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_TOKENS</h4>
<pre>static final&nbsp;int DFLT_MAX_TOKENS</pre>
<div class="block">Default value for <a href="#getMaxTokens()"><code>getMaxTokens()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MAX_TOKENS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_MIN_NON_STOPWORDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MIN_NON_STOPWORDS</h4>
<pre>static final&nbsp;int DFLT_MIN_NON_STOPWORDS</pre>
<div class="block">Default value for <a href="#getMinNonStopwords()"><code>getMinNonStopwords()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_MIN_NON_STOPWORDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_NON_ENGLISH_ALLOWED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_NON_ENGLISH_ALLOWED</h4>
<pre>static final&nbsp;boolean DFLT_IS_NON_ENGLISH_ALLOWED</pre>
<div class="block">Default value for <a href="#isNonEnglishAllowed()"><code>isNonEnglishAllowed()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_NON_ENGLISH_ALLOWED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_NOT_LATIN_CHARSET_ALLOWED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_NOT_LATIN_CHARSET_ALLOWED</h4>
<pre>static final&nbsp;boolean DFLT_IS_NOT_LATIN_CHARSET_ALLOWED</pre>
<div class="block">Default value for <a href="#isNotLatinCharsetAllowed()"><code>isNotLatinCharsetAllowed()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_NOT_LATIN_CHARSET_ALLOWED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_SWEAR_WORDS_ALLOWED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_SWEAR_WORDS_ALLOWED</h4>
<pre>static final&nbsp;boolean DFLT_IS_SWEAR_WORDS_ALLOWED</pre>
<div class="block">Default value for <a href="#isSwearWordsAllowed()"><code>isSwearWordsAllowed()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_SWEAR_WORDS_ALLOWED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_NO_NOUNS_ALLOWED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_NO_NOUNS_ALLOWED</h4>
<pre>static final&nbsp;boolean DFLT_IS_NO_NOUNS_ALLOWED</pre>
<div class="block">Default value for <a href="#isNoNounsAllowed()"><code>isNoNounsAllowed()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_NO_NOUNS_ALLOWED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_PERMUTATE_SYNONYMS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_PERMUTATE_SYNONYMS</h4>
<pre>static final&nbsp;boolean DFLT_IS_PERMUTATE_SYNONYMS</pre>
<div class="block">Default value for <a href="#isPermutateSynonyms()"><code>isPermutateSynonyms()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_PERMUTATE_SYNONYMS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_DUP_SYNONYMS_ALLOWED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_DUP_SYNONYMS_ALLOWED</h4>
<pre>static final&nbsp;boolean DFLT_IS_DUP_SYNONYMS_ALLOWED</pre>
<div class="block">Default value for <a href="#isDupSynonymsAllowed()"><code>isDupSynonymsAllowed()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_DUP_SYNONYMS_ALLOWED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_IS_NO_USER_TOKENS_ALLOWED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IS_NO_USER_TOKENS_ALLOWED</h4>
<pre>static final&nbsp;boolean DFLT_IS_NO_USER_TOKENS_ALLOWED</pre>
<div class="block">Default value for <a href="#isNoUserTokensAllowed()"><code>isNoUserTokensAllowed()</code></a> method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.nlpcraft.model.NCModelView.DFLT_IS_NO_USER_TOKENS_ALLOWED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DFLT_ENABLED_BUILTIN_TOKENS">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_ENABLED_BUILTIN_TOKENS</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt; DFLT_ENABLED_BUILTIN_TOKENS</pre>
<div class="block">Default set of enabled built-in tokens. The following built-in tokens are enabled by default:
<ul>
<li><code>nlpcraft:date</code></li>
<li><code>nlpcraft:continent</code></li>
<li><code>nlpcraft:subcontinent</code></li>
<li><code>nlpcraft:country</code></li>
<li><code>nlpcraft:metro</code></li>
<li><code>nlpcraft:region</code></li>
<li><code>nlpcraft:city</code></li>
<li><code>nlpcraft:num</code></li>
<li><code>nlpcraft:coordinate</code></li>
<li><code>nlpcraft:relation</code></li>
<li><code>nlpcraft:sort</code></li>
<li><code>nlpcraft:limit</code></li>
</ul></div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getId()</pre>
<div class="block">Gets unique, <i>immutable</i> ID of this model.
<p>
Note that <b>model IDs are immutable</b> while name and version
can be changed freely. Changing model ID is equal to creating a completely new model.
Model IDs (unlike name and version) are not exposed to the end user and only serve a
technical purpose. ID's max length is 32 characters.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>id</code> property:
<pre class="brush: js">
{
"id": "my.model.id"
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Unique, <i>immutable</i> ID of this model.</dd>
</dl>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getName()</pre>
<div class="block">Gets descriptive name of this model. Name's max length is 64 characters.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>name</code> property:
<pre class="brush: js">
{
"name": "My Model"
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Descriptive name for this model.</dd>
</dl>
</li>
</ul>
<a id="getVersion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersion</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getVersion()</pre>
<div class="block">Gets the version of this model using semantic versioning. Version's max length is 16 characters.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>version</code> property:
<pre class="brush: js">
{
"version": "1.0.0"
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A version compatible with (<a href="http://www.semver.org">www.semver.org</a>) specification.</dd>
</dl>
</li>
</ul>
<a id="getDescription()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescription</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getDescription()</pre>
<div class="block">Gets optional short model description. This can be displayed by the management tools.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>description</code> property:
<pre class="brush: js">
{
"description": "Model description..."
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional short model description.</dd>
</dl>
</li>
</ul>
<a id="getMaxUnknownWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxUnknownWords</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxUnknownWords()</pre>
<div class="block">Gets maximum number of unknown words until automatic rejection. An unknown word is a word
that is not part of Princeton WordNet database. If you expect a very formalized and well
defined input without uncommon slang and abbreviations you can set this to a small number
like one or two. However, in most cases we recommend to leave it as default or set it to a larger
number like five or more.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_UNKNOWN_WORDS"><code>DFLT_MAX_UNKNOWN_WORDS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxUnknownWords</code> property:
<pre class="brush: js">
{
"maxUnknownWords": 2
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of unknown words until automatic rejection.</dd>
</dl>
</li>
</ul>
<a id="getMaxFreeWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFreeWords</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxFreeWords()</pre>
<div class="block">Gets maximum number of free words until automatic rejection. A free word is a known word that is
not part of any recognized token. In other words, a word that is present in the user input
but won't be used to understand its meaning. Setting it to a non-zero risks the misunderstanding
of the user input, while setting it to zero often makes understanding logic too rigid. In most
cases we recommend setting to between one and three. If you expect the user input to contain
many <i>noisy</i> idioms, slang or colloquials - you can set it to a larger number.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_FREE_WORDS"><code>DFLT_MAX_FREE_WORDS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxFreeWords</code> property:
<pre class="brush: js">
{
"maxFreeWords": 2
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of free words until automatic rejection.</dd>
</dl>
</li>
</ul>
<a id="getMaxSuspiciousWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxSuspiciousWords</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxSuspiciousWords()</pre>
<div class="block">Gets maximum number of suspicious words until automatic rejection. A suspicious word is a word
that is defined by the model that should not appear in a valid user input under no circumstances.
A typical example of suspicious words would be words "sex" or "porn" when processing
queries about children books. In most cases this should be set to zero (default) to automatically
reject any such suspicious words in the user input.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_SUSPICIOUS_WORDS"><code>DFLT_MAX_SUSPICIOUS_WORDS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxSuspiciousWords</code> property:
<pre class="brush: js">
{
"maxSuspiciousWords": 2
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of suspicious words until automatic rejection.</dd>
</dl>
</li>
</ul>
<a id="getMinWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinWords</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMinWords()</pre>
<div class="block">Gets minimum word count (<i>including</i> stopwords) below which user input will be automatically
rejected as too short. In almost all cases this value should be greater than or equal to one.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MIN_WORDS"><code>DFLT_MIN_WORDS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>minWords</code> property:
<pre class="brush: js">
{
"minWords": 2
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Minimum word count (<i>including</i> stopwords) below which user input will be automatically
rejected as too short.</dd>
</dl>
</li>
</ul>
<a id="getMaxWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxWords</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxWords()</pre>
<div class="block">Gets maximum word count (<i>including</i> stopwords) above which user input will be automatically
rejected as too long. In almost all cases this value should be greater than or equal to one.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_WORDS"><code>DFLT_MAX_WORDS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxWords</code> property:
<pre class="brush: js">
{
"maxWords": 50
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum word count (<i>including</i> stopwords) above which user input will be automatically
rejected as too long.</dd>
</dl>
</li>
</ul>
<a id="getMinTokens()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinTokens</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMinTokens()</pre>
<div class="block">Gets minimum number of all tokens (system and user defined) below which user input will be
automatically rejected as too short. In almost all cases this value should be greater than or equal to one.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MIN_TOKENS"><code>DFLT_MIN_TOKENS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>minTokens</code> property:
<pre class="brush: js">
{
"minTokens": 1
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Minimum number of all tokens.</dd>
</dl>
</li>
</ul>
<a id="getMaxTokens()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxTokens</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxTokens()</pre>
<div class="block">Gets maximum number of all tokens (system and user defined) above which user input will be
automatically rejected as too long. Note that sentences with large number of token can result
in significant processing delay and substantial memory consumption.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_TOKENS"><code>DFLT_MAX_TOKENS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxTokens</code> property:
<pre class="brush: js">
{
"maxTokens": 100
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of all tokens.</dd>
</dl>
</li>
</ul>
<a id="getMinNonStopwords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinNonStopwords</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMinNonStopwords()</pre>
<div class="block">Gets minimum word count (<i>excluding</i> stopwords) below which user input will be automatically rejected
as ambiguous sentence.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MIN_NON_STOPWORDS"><code>DFLT_MIN_NON_STOPWORDS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>minNonStopwords</code> property:
<pre class="brush: js">
{
"minNonStopwords": 2
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Minimum word count (<i>excluding</i> stopwords) below which user input will be automatically
rejected as too short.</dd>
</dl>
</li>
</ul>
<a id="isNonEnglishAllowed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNonEnglishAllowed</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isNonEnglishAllowed()</pre>
<div class="block">Whether or not to allow non-English language in user input.
Currently, only English language is supported. However, model can choose whether or not
to automatically reject user input that is detected to be a non-English. Note that current
algorithm only works reliably on longer user input (10+ words). On short sentences it will
often produce an incorrect result.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_NON_ENGLISH_ALLOWED"><code>DFLT_IS_NON_ENGLISH_ALLOWED</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>nonEnglishAllowed</code> property:
<pre class="brush: js">
{
"nonEnglishAllowed": false
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to allow non-English language in user input.</dd>
</dl>
</li>
</ul>
<a id="isNotLatinCharsetAllowed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotLatinCharsetAllowed</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isNotLatinCharsetAllowed()</pre>
<div class="block">Whether or not to allow non-Latin charset in user input. Currently, only
Latin charset is supported. However, model can choose whether or not to automatically reject user
input with characters outside of Latin charset. If <code>false</code> such user input will be automatically
rejected.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_NOT_LATIN_CHARSET_ALLOWED"><code>DFLT_IS_NOT_LATIN_CHARSET_ALLOWED</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>nonLatinCharsetAllowed</code> property:
<pre class="brush: js">
{
"nonLatinCharsetAllowed": false
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to allow non-Latin charset in user input.</dd>
</dl>
</li>
</ul>
<a id="isSwearWordsAllowed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSwearWordsAllowed</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isSwearWordsAllowed()</pre>
<div class="block">Whether or not to allow known English swear words in user input. If <code>false</code> - user input with
detected known English swear words will be automatically rejected.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_SWEAR_WORDS_ALLOWED"><code>DFLT_IS_SWEAR_WORDS_ALLOWED</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>swearWordsAllowed</code> property:
<pre class="brush: js">
{
"swearWordsAllowed": false
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to allow known swear words in user input.</dd>
</dl>
</li>
</ul>
<a id="isNoNounsAllowed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNoNounsAllowed</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isNoNounsAllowed()</pre>
<div class="block">Whether or not to allow user input without a single noun. If <code>false</code> such user input
will be automatically rejected. Typically for strict command or query-oriented models this should be set to
<code>false</code> as any command or query should have at least one noun subject. However, for conversational
models this can be set to <code>false</code> to allow for a smalltalk and one-liners.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_NO_NOUNS_ALLOWED"><code>DFLT_IS_NO_NOUNS_ALLOWED</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>noNounsAllowed</code> property:
<pre class="brush: js">
{
"noNounsAllowed": false
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to allow user input without a single noun.</dd>
</dl>
</li>
</ul>
<a id="isPermutateSynonyms()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermutateSynonyms</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isPermutateSynonyms()</pre>
<div class="block">Whether or not to permutate multi-word synonyms. Automatic multi-word synonyms permutations greatly
increase the total number of synonyms in the system and allows for better multi-word synonym detection.
For example, if permutation is allowed the synonym "a b c" will be automatically converted into a
sequence of synonyms of "a b c", "b a c", "a c b".
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_PERMUTATE_SYNONYMS"><code>DFLT_IS_PERMUTATE_SYNONYMS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>permutateSynonyms</code> property:
<pre class="brush: js">
{
"permutateSynonyms": true
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to permutate multi-word synonyms.</dd>
</dl>
</li>
</ul>
<a id="isDupSynonymsAllowed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDupSynonymsAllowed</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isDupSynonymsAllowed()</pre>
<div class="block">Whether or not duplicate synonyms are allowed. If <code>true</code> - the model will pick the random
model element when multiple elements found due to duplicate synonyms. If <code>false</code> - model
will print error message and will not deploy.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_DUP_SYNONYMS_ALLOWED"><code>DFLT_IS_DUP_SYNONYMS_ALLOWED</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>dupSynonymsAllowed</code> property:
<pre class="brush: js">
{
"dupSynonymsAllowed": true
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to allow duplicate synonyms.</dd>
</dl>
</li>
</ul>
<a id="getMaxTotalSynonyms()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxTotalSynonyms</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxTotalSynonyms()</pre>
<div class="block">Total number of synonyms allowed per model. Model won't deploy if total number of synonyms exceeds this
number.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_TOTAL_SYNONYMS"><code>DFLT_MAX_TOTAL_SYNONYMS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxTotalSynonyms</code> property:
<pre class="brush: js">
{
"maxTotalSynonyms": true
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total number of synonyms allowed per model.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a></dd>
</dl>
</li>
</ul>
<a id="isNoUserTokensAllowed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNoUserTokensAllowed</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isNoUserTokensAllowed()</pre>
<div class="block">Whether or not to allow the user input with no user token detected. If <code>false</code> such user
input will be automatically rejected. Note that this property only applies to user-defined
token (i.e. model element). Even if there are no user defined tokens, the user input may still
contain system token like <code>nlpcraft:city</code> or <code>nlpcraft:date</code>. In many cases models
should be build to allow user input without user tokens. However, set it to <code>false</code> if presence
of at least one user token is mandatory.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_IS_NO_USER_TOKENS_ALLOWED"><code>DFLT_IS_NO_USER_TOKENS_ALLOWED</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>noUserTokensAllowed</code> property:
<pre class="brush: js">
{
"noUserTokensAllowed": false
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not to allow the user input with no user token detected.</dd>
</dl>
</li>
</ul>
<a id="getJiggleFactor()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJiggleFactor</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getJiggleFactor()</pre>
<div class="block">Measure of how much sparsity is allowed when user input words are reordered in attempt to
match the multi-word synonyms. Zero means no reordering is allowed. One means
that a word in a synonym can move only one position left or right, and so on. Empirically
the value of <code>2</code> proved to be a good default value in most cases. Note that larger
values mean that synonym words can be almost in any random place in the user input which makes
synonym matching practically meaningless. Maximum value is <code>4</code>.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_JIGGLE_FACTOR"><code>DFLT_JIGGLE_FACTOR</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>jiggleFactor</code> property:
<pre class="brush: js">
{
"jiggleFactor": 2
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Word jiggle factor (sparsity measure).</dd>
</dl>
</li>
</ul>
<a id="getMetadata()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetadata</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;getMetadata()</pre>
<div class="block">Gets optional user defined model metadata that can be set by the developer and accessed later.
By default returns an empty map. Note that this metadata is different from the one returned
by <a href="NCMetadata.html#getMetadata()"><code>NCMetadata.getMetadata()</code></a> method.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>metadata</code> property:
<pre class="brush: js">
{
"metadata": {
"str": "val1",
"num": 100,
"bool": false
}
}
</pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="NCMetadata.html#getMetadata()">getMetadata</a></code>&nbsp;in interface&nbsp;<code><a href="NCMetadata.html" title="interface in org.apache.nlpcraft.model">NCMetadata</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional user defined model metadata. TODO: cannot be null</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="NCMetadata.html#meta(java.lang.String)"><code>NCMetadata.meta(String)</code></a>,
<a href="NCMetadata.html#metaOpt(java.lang.String)"><code>NCMetadata.metaOpt(String)</code></a>,
<a href="NCMetadata.html#meta(java.lang.String,T)"><code>NCMetadata.meta(String, Object)</code></a></dd>
</dl>
</li>
</ul>
<a id="getAdditionalStopWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAdditionalStopWords</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;getAdditionalStopWords()</pre>
<div class="block">Gets an optional list of stopwords to add to the built-in ones.
<p>
Stopword is an individual word (i.e. sequence of characters excluding whitespaces) that contribute no
semantic meaning to the sentence. For example, 'the', 'wow', or 'hm' provide no semantic meaning to the
sentence and can be safely excluded from semantic analysis.
<p>
NLPCraft comes with a carefully selected list of English stopwords which should be sufficient
for a majority of use cases. However, you can add additional stopwords to this list. The typical
use for user-defined stopwords are jargon parasite words that are specific to the model's domain.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>additionalStopwords</code> property:
<pre class="brush: js">
{
"additionalStopwords": [
"stopword1",
"stopword2"
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Potentially empty list of additional stopwords.</dd>
</dl>
</li>
</ul>
<a id="getExcludedStopWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExcludedStopWords</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;getExcludedStopWords()</pre>
<div class="block">Gets an optional list of stopwords to exclude from the built-in list of stopwords.
<p>
Just like you can add additional stopwords via <a href="#getAdditionalStopWords()"><code>getAdditionalStopWords()</code></a> you can exclude
certain words from the list of stopwords. This can be useful in rare cases when default built-in
stopword has specific meaning of your model. In order to process them you need to exclude them
from the list of stopwords.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>excludedStopwords</code> property:
<pre class="brush: js">
{
"excludedStopwords": [
"excludedStopword1",
"excludedStopword2"
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Potentially empty list of excluded stopwords.</dd>
</dl>
</li>
</ul>
<a id="getSuspiciousWords()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSuspiciousWords</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;getSuspiciousWords()</pre>
<div class="block">Gets an optional list of suspicious words. A suspicious word is a word that generally should not appear in user
sentence when used with this model. For example, if a particular model is for children oriented book search,
the words "sex" and "porn" should probably NOT appear in the user input and can be automatically rejected
when added here and model's metadata <code>MAX_SUSPICIOUS_WORDS</code> property set to zero.
<p>
Note that by setting model's metadata <code>MAX_SUSPICIOUS_WORDS</code> property to non-zero value you can
adjust the sensitivity of suspicious words auto-rejection logic.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>suspiciousWords</code> property:
<pre class="brush: js">
{
"suspiciousWords": [
"sex",
"porn"
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Potentially empty list of suspicious words in their lemma form.</dd>
</dl>
</li>
</ul>
<a id="getMacros()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMacros</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;getMacros()</pre>
<div class="block">Gets an optional map of macros to be used in this model. Macros and option groups are instrumental
in defining model's elements. See <a href="NCElement.html" title="interface in org.apache.nlpcraft.model"><code>NCElement</code></a> for documentation on macros.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>macros</code> property:
<pre class="brush: js">
{
"macros": [
{
"name": "&lt;OF&gt;",
"macro": "{of|for|per}"
},
{
"name": "&lt;CUR&gt;",
"macro": "{current|present|moment|now}"
}
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Potentially empty map of macros.</dd>
</dl>
</li>
</ul>
<a id="getParsers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParsers</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="NCCustomParser.html" title="interface in org.apache.nlpcraft.model">NCCustomParser</a>&gt;&nbsp;getParsers()</pre>
<div class="block">Gets optional user-defined model element parsers for custom NER implementations. Note that order of the parsers
is important as they will be invoked in the same order they are returned.
<p>
By default the data model detects its elements by their synonyms, regexp or DSL expressions. However,
in some cases these methods are not expressive enough. In such cases, a user-defined parser can be defined
for the model that would allow the user to define its own NER logic to detect the model elements in the user
input programmatically. Note that there can be only one custom parser per model and it can detect any number
of model elements (named entities).
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>parser</code> property which is an array
with every element being a fully qualified class name implementing <a href="NCCustomParser.html" title="interface in org.apache.nlpcraft.model"><code>NCCustomParser</code></a> interface:
<pre class="brush: js">
{
"parsers": [
"my.package.Parser1",
"my.package.Parser2"
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Custom user parsers for model elements or <code>null</code> if not used (default). TODO: cannot be null!</dd>
</dl>
</li>
</ul>
<a id="getElements()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElements</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="NCElement.html" title="interface in org.apache.nlpcraft.model">NCElement</a>&gt;&nbsp;getElements()</pre>
<div class="block">Gets a set of model elements or named entities. Model can have zero or more user defined elements.
<p>
An element is the main building block of the model. Data model element defines a named entity
that will be automatically recognized in the user input. See also <a href="#getParsers()"><code>getParsers()</code></a> method on how
to provide programmatic named entity recognizer (NER) implementations.
<p>
Note that unless model elements are loaded dynamically it is highly recommended to declare model
elements in the external JSON/YAML model configuration (under <code>elements</code> property):
<pre class="brush: js">
{
"elements": [
{
"id": "wt:hist",
"synonyms": [
"{&lt;WEATHER&gt;|*} &lt;HISTORY&gt;",
"&lt;HISTORY&gt; {&lt;OF&gt;|*} &lt;WEATHER&gt;"
],
"description": "Past weather conditions."
}
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of model elements, potentially empty.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getParsers()"><code>getParsers()</code></a></dd>
</dl>
</li>
</ul>
<a id="getEnabledBuiltInTokens()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnabledBuiltInTokens</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;getEnabledBuiltInTokens()</pre>
<div class="block">Gets a set of IDs for built-in named entities (tokens) that should be enabled and detected for this model.
Unless model requests (i.e. enables) the built-in tokens in this method the NLP subsystem will not attempt
to detect them. Explicit enablement of the token significantly improves the overall performance by avoiding
unnecessary token detection. Note that you don't have to specify your own user elements here as they are
always enabled.
<p>
<b>Default</b>
<br>
The following built-in tokens are enabled by default implementation of this method:
<ul>
<li><code>nlpcraft:date</code></li>
<li><code>nlpcraft:continent</code></li>
<li><code>nlpcraft:subcontinent</code></li>
<li><code>nlpcraft:country</code></li>
<li><code>nlpcraft:metro</code></li>
<li><code>nlpcraft:region</code></li>
<li><code>nlpcraft:city</code></li>
<li><code>nlpcraft:num</code></li>
<li><code>nlpcraft:coordinate</code></li>
<li><code>nlpcraft:relation</code></li>
<li><code>nlpcraft:sort</code></li>
<li><code>nlpcraft:limit</code></li>
</ul>
Note that this method can return an empty list if the data model doesn't need any built-in tokens
for its logic. See <a href="NCToken.html" title="interface in org.apache.nlpcraft.model"><code>NCToken</code></a> for the list of all supported built-in tokens.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>enabledBuiltInTokens</code> property:
<pre class="brush: js">
{
"enabledBuiltInTokens": [
"google:person",
"google:location",
"stanford:money"
]
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of built-in tokens, potentially empty, that should be enabled and detected for this model.</dd>
</dl>
</li>
</ul>
<a id="getMaxElementSynonyms()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxElementSynonyms</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getMaxElementSynonyms()</pre>
<div class="block">Gets maximum number of unique synonyms per model element after which either warning or error will be
triggered. Note that there is no technical limit on how many synonyms a model element can have apart
from memory consumption and performance considerations. However, in cases where synonyms are auto-generated
(i.e. from database) this property can serve as a courtesy notification that a model element has too many
synonyms. Also, in general, too many synonyms can potentially lead to a performance degradation.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_ELEMENT_SYNONYMS"><code>DFLT_MAX_ELEMENT_SYNONYMS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxSynonymThreshold</code> property:
<pre class="brush: js">
{
"maxSynonymThreshold": 1000
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of unique synonyms per model element after which either warning or
error will be triggered.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isMaxSynonymsThresholdError()"><code>isMaxSynonymsThresholdError()</code></a>,
<a href="#getMaxTotalSynonyms()"><code>getMaxTotalSynonyms()</code></a></dd>
</dl>
</li>
</ul>
<a id="isMaxSynonymsThresholdError()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMaxSynonymsThresholdError</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;isMaxSynonymsThresholdError()</pre>
<div class="block">Whether or not exceeding <a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a> will trigger a warning log or throwing an exception.
Note that throwing exception will prevent data probe from starting.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_MAX_SYNONYMS_THRESHOLD_ERROR"><code>DFLT_MAX_SYNONYMS_THRESHOLD_ERROR</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>maxSynonymThresholdError</code> property:
<pre class="brush: js">
{
"maxSynonymThresholdError": true
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether or not exceeding <a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a> will trigger a warning log or
throwing an exception.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getMaxElementSynonyms()"><code>getMaxElementSynonyms()</code></a></dd>
</dl>
</li>
</ul>
<a id="getConversationTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConversationTimeout</h4>
<pre class="methodSignature">default&nbsp;long&nbsp;getConversationTimeout()</pre>
<div class="block">Gets timeout in ms after which the unused conversation element is automatically "forgotten".
<p>
Just like in a normal human conversation if we talk about, say, "Chicago", and then don't mention it
for certain period of time during further dialog, the conversation participants subconsciously "forget"
about it and exclude it from conversation context. In other words, the term "Chicago" is no longer in
conversation's short-term-memory.
<p>
Note that both conversation <a href="#getConversationTimeout()"><code>timeout</code></a> and <a href="#getConversationDepth()"><code>depth</code></a>
combined define the expiration policy for the conversation management. These two properties allow to
fine tune for different types of dialogs. For example, setting longer timeout and smaller depth mimics
slow-moving but topic-focused conversation. Alternatively, settings shorter timeout and longer depth better
supports fast-moving wide-ranging conversation that may cover multiple topics.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_CONV_TIMEOUT_MS"><code>DFLT_CONV_TIMEOUT_MS</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>conversationTimeout</code> property:
<pre class="brush: js">
{
"conversationTimeout": 300000
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timeout in ms after which the unused conversation element is automatically "forgotten".</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getConversationDepth()"><code>getConversationDepth()</code></a></dd>
</dl>
</li>
</ul>
<a id="getConversationDepth()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getConversationDepth</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getConversationDepth()</pre>
<div class="block">Gets maximum number of requests after which the unused conversation element is automatically "forgotten".
<p>
Just like in a normal human conversation if we talk about, say, "Chicago", and then don't mention it
for a certain number of utterances during further dialog, the conversation participants subconsciously "forget"
about it and exclude it from conversation context. In other words, the term "Chicago" is no longer in
conversation's short-term-memory.
<p>
Note that both conversation <a href="#getConversationTimeout()"><code>timeout</code></a> and <a href="#getConversationDepth()"><code>depth</code></a>
combined define the expiration policy for the conversation management. These two properties allow to
fine tune for different types of dialogs. For example, setting longer timeout and smaller depth mimics
slow-moving but topic-focused conversation. Alternatively, settings shorter timeout and longer depth better
supports fast-moving wide-ranging conversation that may cover multiple topics.
<p>
<b>Default</b>
<br>
If not provided by the model the default value <a href="#DFLT_CONV_DEPTH"><code>DFLT_CONV_DEPTH</code></a> will be used.
<p>
<b>JSON</b>
<br>
If using JSON/YAML model presentation this is set by <code>conversationDepth</code> property:
<pre class="brush: js">
{
"conversationDepth": 5
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of requests after which the unused conversation element is automatically "forgotten".</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getConversationTimeout()"><code>getConversationTimeout()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NCModelView.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><span style="vertical-align: super">Apache NLPCraft <span style="font-size: 80%">0.7.4</span></span> <a style="vertical-align: super; margin-right: 10px" href="https://github.com/apache/incubator-nlpcraft" target="github"><i class="fa fa-github github-logo"></i></a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/tree/master/nlpcraft/src/main/scala/org/apache/nlpcraft/examples" data-icon="octicon-eye" aria-label="NLPCraft Examples">Examples</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft" data-icon="octicon-star" aria-label="Star on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/fork" data-icon="octicon-repo-forked" aria-label="Fork on GitHub">Fork</a> <script type="text/javascript"> SyntaxHighlighter.defaults["auto-links"] = false; SyntaxHighlighter.defaults["tab-size"] = 2; SyntaxHighlighter.autoloader( 'java https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushJava.js', 'js jscript javascript https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushJScript.js', 'text plain https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushPlain.js', 'py python https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushPython.js', 'ruby rails ror rb https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushRuby.js', 'scala https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushScala.js', 'sql https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushSql.js', 'xml xhtml xslt html https://nlpcraft.apache.org/javadoc/resources/sh/scripts/shBrushXml.js' ); SyntaxHighlighter.all(); </script></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><center> <br/> <span style="font-size: larger">Copyright &#169; 2021 Apache Software Foundation</span> <br/> <br/> <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px" alt="ASF Logo"> </center></small></p>
</footer>
</body>
</html>