blob: 68b124b4be56cc72981f2f75988a5dc0f9f43021 [file] [log] [blame]
<html><head><meta charset="utf-8"></meta><meta name="viewport" content="width=device-width, initial-scale=1"></meta><title>NCDictionaryTokenEnricher</title><link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico"></link><script type="text/javascript" src="../../../../../scripts/theme.js"></script><script type="text/javascript" src="../../../../../scripts/searchData.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/scastieConfiguration.js" defer="true"></script><link rel="stylesheet" href="../../../../../styles/nord-light.css"></link><link rel="stylesheet" href="../../../../../styles/scalastyle.css"></link><link rel="stylesheet" href="../../../../../styles/colors.css"></link><link rel="stylesheet" href="../../../../../styles/dotty-icons.css"></link><link rel="stylesheet" href="../../../../../styles/diagram.css"></link><link rel="stylesheet" href="../../../../../styles/filter-bar.css"></link><link rel="stylesheet" href="../../../../../styles/code-snippets.css"></link><link rel="stylesheet" href="../../../../../styles/searchbar.css"></link><link rel="stylesheet" href="../../../../../styles/social-links.css"></link><link rel="stylesheet" href="../../../../../styles/ux.css"></link><link rel="stylesheet" href="../../../../../styles/versions-dropdown.css"></link><link rel="stylesheet" href="../../../../../styles/fontawesome.css"></link><script type="text/javascript" src="../../../../../hljs/highlight.min.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/hljs-scala3.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/ux.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/common/component.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/common/utils.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/components/FilterBar.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/components/DocumentableList.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/components/Input.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/components/FilterGroup.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/components/Filter.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/scaladoc-scalajs.js" defer="true"></script><script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js" defer="true"></script><script type="text/javascript" src="https://d3js.org/d3.v6.min.js" defer="true"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/graphlib-dot@0.6.2/dist/graphlib-dot.min.js" defer="true"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/dagre-d3/0.6.1/dagre-d3.min.js" defer="true"></script><script type="text/javascript" src="https://scastie.scala-lang.org/embedded.js" defer="true"></script><script type="text/javascript" src="../../../../../scripts/data.js" defer="true"></script><script>var pathToRoot = "../../../../../";</script></head><body><div id="container"><div id="leftColumn"><div id="logo"><span><div class="projectName">NLPCraft</div></span><div id="version"><div class="versions-dropdown"><div onclick="dropdownHandler()" id="dropdown-button" class="dropdownbtn dropdownbtnactive"><div class="projectVersion">1.0.0</div><div id="dropdown-content" class="dropdown-content"><input type="text" placeholder="Search..." id="dropdown-input" onkeyup="filterFunction()"></input></div></div></div></div><div class="socials"><a href="https://github.com/apache/incubator-nlpcraft"><span class="social-icon" data-icon-path="github-icon-white.png"></span></a></div></div><div id="paneSearch"></div><nav id="sideMenu2"><div class="ni expanded"><span class="nh expanded"><span class="ar"></span><a href="../../../../../index.html"><span>NLPCraft</span></a></span><div class="ni"><span class="nh "><span class="ar"></span><a href="../../../nlpcraft.html"><span class="micon pa"></span><span>org.apache.nlpcraft</span></a></span><div class="ni "><span class="nh "><a href="../../NCContext.html"><span class="micon tr"></span><span>NCContext</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCConversation.html"><span class="micon tr"></span><span>NCConversation</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCCuration.html"><span class="micon cl"></span><span>NCCuration</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCDialogFlowItem.html"><span class="micon tr"></span><span>NCDialogFlowItem</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCEntity.html"><span class="micon tr"></span><span>NCEntity</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCEntityEnricher.html"><span class="micon tr"></span><span>NCEntityEnricher</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCEntityMapper.html"><span class="micon tr"></span><span>NCEntityMapper</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCEntityParser.html"><span class="micon tr"></span><span>NCEntityParser</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCEntityValidator.html"><span class="micon tr"></span><span>NCEntityValidator</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCException.html"><span class="micon cl"></span><span>NCException</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCIntentMatch.html"><span class="micon tr"></span><span>NCIntentMatch</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCIntentSkip.html"><span class="micon cl"></span><span>NCIntentSkip</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCLifecycle.html"><span class="micon tr"></span><span>NCLifecycle</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCMatchedCallback.html"><span class="micon tr"></span><span>NCMatchedCallback</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCModel.html"><span class="micon tr"></span><span>NCModel</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCModelClient.html"><span class="micon cl"></span><span>NCModelClient</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCModelConfig$.html"><span class="micon ob"></span><span>NCModelConfig</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCModelConfig.html"><span class="micon tr"></span><span>NCModelConfig</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCPipeline.html"><span class="micon tr"></span><span>NCPipeline</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCPipelineBuilder.html"><span class="micon cl"></span><span>NCPipelineBuilder</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCPropertyMap.html"><span class="micon tr"></span><span>NCPropertyMap</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCPropertyMapAdapter.html"><span class="micon cl"></span><span>NCPropertyMapAdapter</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCRejection.html"><span class="micon cl"></span><span>NCRejection</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCRequest.html"><span class="micon tr"></span><span>NCRequest</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCResult$.html"><span class="micon ob"></span><span>NCResult</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCResult.html"><span class="micon tr"></span><span>NCResult</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCResultType.html"><span class="micon en"></span><span>NCResultType</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCToken.html"><span class="micon tr"></span><span>NCToken</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCTokenEnricher.html"><span class="micon tr"></span><span>NCTokenEnricher</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCTokenParser.html"><span class="micon tr"></span><span>NCTokenParser</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCTokenValidator.html"><span class="micon tr"></span><span>NCTokenValidator</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCVariant.html"><span class="micon tr"></span><span>NCVariant</span></a></span></div><div class="ni "><span class="nh "><a href="../../NCVariantFilter.html"><span class="micon tr"></span><span>NCVariantFilter</span></a></span></div></div><div class="ni expanded"><span class="nh expanded"><span class="ar"></span><a href="../enrichers.html"><span class="micon pa"></span><span>org.apache.nlpcraft.nlp.enrichers</span></a></span><div class="ni "><span class="nh "><a href="NCBracketsTokenEnricher.html"><span class="micon cl"></span><span>NCBracketsTokenEnricher</span></a></span></div><div class="ni expanded"><span class="nh selected"><a href="NCDictionaryTokenEnricher.html"><span class="micon cl"></span><span>NCDictionaryTokenEnricher</span></a></span></div><div class="ni "><span class="nh "><a href="NCEnStopWordsTokenEnricher.html"><span class="micon cl"></span><span>NCEnStopWordsTokenEnricher</span></a></span></div><div class="ni "><span class="nh "><a href="NCOpenNLPTokenEnricher.html"><span class="micon cl"></span><span>NCOpenNLPTokenEnricher</span></a></span></div><div class="ni "><span class="nh "><a href="NCQuotesTokenEnricher.html"><span class="micon cl"></span><span>NCQuotesTokenEnricher</span></a></span></div><div class="ni "><span class="nh "><a href="NCSwearWordsTokenEnricher.html"><span class="micon cl"></span><span>NCSwearWordsTokenEnricher</span></a></span></div></div><div class="ni"><span class="nh "><span class="ar"></span><a href="../parsers.html"><span class="micon pa"></span><span>org.apache.nlpcraft.nlp.parsers</span></a></span><div class="ni "><span class="nh "><a href="../parsers/NCNLPEntityParser.html"><span class="micon cl"></span><span>NCNLPEntityParser</span></a></span></div><div class="ni "><span class="nh "><a href="../parsers/NCOpenNLPEntityParser.html"><span class="micon cl"></span><span>NCOpenNLPEntityParser</span></a></span></div><div class="ni "><span class="nh "><a href="../parsers/NCOpenNLPTokenParser.html"><span class="micon cl"></span><span>NCOpenNLPTokenParser</span></a></span></div><div class="ni "><span class="nh "><a href="../parsers/NCSemanticElement.html"><span class="micon tr"></span><span>NCSemanticElement</span></a></span></div><div class="ni "><span class="nh "><a href="../parsers/NCSemanticEntityParser.html"><span class="micon cl"></span><span>NCSemanticEntityParser</span></a></span></div></div><div class="ni"><span class="nh "><span class="ar"></span><a href="../stemmer.html"><span class="micon pa"></span><span>org.apache.nlpcraft.nlp.stemmer</span></a></span><div class="ni "><span class="nh "><a href="../stemmer/NCEnStemmer.html"><span class="micon cl"></span><span>NCEnStemmer</span></a></span></div><div class="ni "><span class="nh "><a href="../stemmer/NCStemmer.html"><span class="micon tr"></span><span>NCStemmer</span></a></span></div></div></div></nav></div><div id="main"><div id="leftToggler"><span class="icon-toggler"></span></div><div id="scaladoc-searchBar"></div><main id="main-content"><div class="breadcrumbs container"><a href="../../../../../index.html">NLPCraft</a>/<a href="../enrichers.html">org.apache.nlpcraft.nlp.enrichers</a>/<a href="NCDictionaryTokenEnricher.html">NCDictionaryTokenEnricher</a></div><div id="content"><div><div class="cover-header"><span class="micon cl"></span><h1>NCDictionaryTokenEnricher</h1></div><div class="signature monospace"><span class="annotations monospace"></span><div class="signature"><span class="modifiers"></span><span class="kind"><span t="k">class </span></span><a href="NCDictionaryTokenEnricher.html" class="documentableName ">NCDictionaryTokenEnricher</a><span>(<span t="k"></span><span t="k"></span>dictRes: <a href="https://www.scala-lang.org/api/2.13.8/scala/Predef$.html#String" t="t">String</a>)<span t="k"> extends </span><a href="../../NCTokenEnricher.html" t="t">NCTokenEnricher</a><span t="k"> with </span><span data-unresolved-link="" t="t">LazyLogging</span></span></div></div><div class="cover"><div class="doc"><p>Dictionary-based &quot;known-word&quot; <a href="../../NCTokenEnricher.html">token enricher</a>.</p>
<p>This enricher adds <code>dict</code> boolean <a href="../../NCPropertyMap.html">metadata</a> property to the <a href="../../NCToken.html">token</a>
instance if word it represents is a known dictionary word, i.e. the configured dictionary contains this word's
lemma. The value <code>true</code> of the metadata property indicates that this word's lemma is found in the dictionary,
<code>false</code> value indicates otherwise.</p>
<p><strong>NOTE:</strong> this implementation requires <code>lemma</code> string <a href="../../NCPropertyMap.html">metadata</a> property that contains
token's lemma. You can configure <a href="NCOpenNLPTokenEnricher.html">NCOpenNLPTokenEnricher</a> for required language that provides this
metadata property before this enricher in your <a href="../../NCPipeline.html">pipeline</a>.</p>
</div><dl class="attributes"><dt>Value parameters:</dt><dd><dl class="attributes"><dt>dictRes</dt><dd><p>Relative path, absolute path, classpath resource or URL to the dictionary.
The dictionary should have a simple plain text format with <em>one lemma per line</em>, empty lines are skipped,
duplicates ignored, lines starting with <strong>#</strong> symbol will be treated as comments and ignored.
Note that the search in the dictionary is implemented using words' <strong>lemma</strong> and case is ignored.</p>
</dd></dl></dd><dt>Source:</dt><dd><a href="https://github.com/apache/incubator-nlpcraft/blob/master/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/enrichers/NCDictionaryTokenEnricher.scala#L42">NCDictionaryTokenEnricher.scala</a></dd></dl></div><div class="tabs single"><div class="names"><button data-togglable="graph" class="tab showGraph">Graph</button><button data-togglable="supertypes" class="tab ">Supertypes</button></div><div class="contents"><div data-togglable="graph" class="tab showGraph"><div id="inheritance-diagram" class="diagram-class showGraph"><input value="Reset zoom" type="button" class="btn" onclick="zoomOut()"></input><svg id="graph"></svg><script type="text/dot" id="dot"> digraph g {
node0 [id=node0, label="<span style=\"color: #FFFFFF;\">class <a href=\"NCDictionaryTokenEnricher.html\" t=\"t\">NCDictionaryTokenEnricher</a></span>", style="fill: #45AD7D;"];
node1 [id=node1, label="<span style=\"color: #FFFFFF;\">class <span data-unresolved-link=\"\" t=\"t\">Object</span></span>", style="fill: #45AD7D;"];
node2 [id=node2, label="<span style=\"color: #FFFFFF;\">class <span data-unresolved-link=\"\" t=\"t\">Any</span></span>", style="fill: #45AD7D;"];
node3 [id=node3, label="<span style=\"color: #FFFFFF;\">trait <span data-unresolved-link=\"\" t=\"t\">Matchable</span></span>", style="fill: #1CAACF;"];
node4 [id=node4, label="<span style=\"color: #FFFFFF;\">trait <a href=\"../../NCTokenEnricher.html\" t=\"t\">NCTokenEnricher</a></span>", style="fill: #1CAACF;"];
node5 [id=node5, label="<span style=\"color: #FFFFFF;\">trait <a href=\"../../NCLifecycle.html\" t=\"t\">NCLifecycle</a></span>", style="fill: #1CAACF;"];
node6 [id=node6, label="<span style=\"color: #FFFFFF;\">trait <span data-unresolved-link=\"\" t=\"t\">LazyLogging</span></span>", style="fill: #1CAACF;"];
node0 -> node1;
node1 -> node2;
node1 -> node3;
node3 -> node2;
node0 -> node4;
node4 -> node1;
node4 -> node5;
node5 -> node1;
node0 -> node6;
node6 -> node1;
}
</script></div></div><div data-togglable="supertypes" class="tab "><div class="symbol monospace"><div>trait <span data-unresolved-link="" t="t">LazyLogging</span></div><div>trait <a href="../../NCTokenEnricher.html" t="t">NCTokenEnricher</a></div><div>trait <a href="../../NCLifecycle.html" t="t">NCLifecycle</a></div><div>class <span data-unresolved-link="" t="t">Object</span></div><div>trait <span data-unresolved-link="" t="t">Matchable</span></div><div>class <span data-unresolved-link="" t="t">Any</span></div></div></div></div></div><div class="documentableFilter"><div class="filterUpperContainer"><button class="filterToggleButton" data-test-id="filterToggleButton">
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
</svg>
</button><input class="filterableInput" placeholder="Filter all members" data-test-id="filterBarInput"></input></div><div class="filterLowerContainer"></div></div><div class="membersList"><div class="tabs"><div class="names"><button data-togglable="Value members" class="tab selected">Value members</button></div><div class="contents"><div data-togglable="Value members" class="tab selected"><h2 data-togglable="Value members">Value members</h2><div class="documentableList"><h3 class="groupHeader">Concrete methods</h3><div class="documentableElement" id="enrich-7e2" data-f-keywords="override"><a link="NCDictionaryTokenEnricher.html#enrich-7e2" class="documentableAnchor"></a><div><span class="annotations monospace"></span></div><div class="header monospace"><div class="signature"><span class="modifiers"><span t="k">override </span></span><span class="kind"><span t="k">def </span></span><a href="NCDictionaryTokenEnricher.html#enrich-7e2" class="documentableName ">enrich</a><span>(<span t="k"></span><span t="k"></span>req: <a href="../../NCRequest.html" t="t">NCRequest</a>, <span t="k"></span>cfg: <a href="../../NCModelConfig.html" t="t">NCModelConfig</a>, <span t="k"></span>toks: <a href="https://www.scala-lang.org/api/2.13.8/scala/collection/immutable/List.html" t="t">List</a>[<a href="../../NCToken.html" t="t">NCToken</a>]): <a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html" t="t">Unit</a></span></div></div><div class="docs"><span class="modifiers"></span><div><div class="originInfo"></div><div class="memberDocumentation"><div class="documentableBrief doc"><p>Enriches, or otherwise modifies, previously parsed <a href="../../NCToken.html">tokens</a>.</p>
</div><div class="cover"><div class="doc"><p>Enriches, or otherwise modifies, previously parsed <a href="../../NCToken.html">tokens</a>.</p>
</div><dl class="attributes"><dt>Definition Classes</dt><dd><div><a href="../../NCTokenEnricher.html">NCTokenEnricher</a></div></dd><dt>Source:</dt><dd><a href="https://github.com/apache/incubator-nlpcraft/blob/master/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/enrichers/NCDictionaryTokenEnricher.scala#L52">NCDictionaryTokenEnricher.scala</a></dd></dl></div></div></div></div></div></div><div class="documentableList"><h3 class="groupHeader">Inherited methods</h3><div class="documentableElement" id="onStart-fffff138" data-f-inherited="NCLifecycle"><a link="NCDictionaryTokenEnricher.html#onStart-fffff138" class="documentableAnchor"></a><div><span class="annotations monospace"></span></div><div class="header monospace"><div class="signature"><span class="modifiers"></span><span class="kind"><span t="k">def </span></span><a href="NCDictionaryTokenEnricher.html#onStart-fffff138" class="documentableName ">onStart</a><span>(<span t="k"></span><span t="k"></span>cfg: <a href="../../NCModelConfig.html" t="t">NCModelConfig</a>): <a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html" t="t">Unit</a></span></div></div><div class="docs"><span class="modifiers"></span><div><div class="originInfo"></div><div class="memberDocumentation"><div class="documentableBrief doc"><p>Called when the component starts. Default implementation is no-op.</p>
</div><div class="cover"><div class="doc"><p>Called when the component starts. Default implementation is no-op.</p>
</div><dl class="attributes"><dt>Value parameters:</dt><dd><dl class="attributes"><dt>cfg</dt><dd><p>Configuration of the model this component is associated with.</p>
</dd></dl></dd><dt>Inherited from:</dt><dd><a href="../../NCLifecycle.html#onStart-fffff138">NCLifecycle</a></dd><dt>Source:</dt><dd><a href="https://github.com/apache/incubator-nlpcraft/blob/master/nlpcraft/src/main/scala/org/apache/nlpcraft/NCLifecycle.scala#L36">NCLifecycle.scala</a></dd></dl></div></div></div></div></div><div class="documentableElement" id="onStop-fffff138" data-f-inherited="NCLifecycle"><a link="NCDictionaryTokenEnricher.html#onStop-fffff138" class="documentableAnchor"></a><div><span class="annotations monospace"></span></div><div class="header monospace"><div class="signature"><span class="modifiers"></span><span class="kind"><span t="k">def </span></span><a href="NCDictionaryTokenEnricher.html#onStop-fffff138" class="documentableName ">onStop</a><span>(<span t="k"></span><span t="k"></span>cfg: <a href="../../NCModelConfig.html" t="t">NCModelConfig</a>): <a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html" t="t">Unit</a></span></div></div><div class="docs"><span class="modifiers"></span><div><div class="originInfo"></div><div class="memberDocumentation"><div class="documentableBrief doc"><p>Called when the component stops. Default implementation is no-op.</p>
</div><div class="cover"><div class="doc"><p>Called when the component stops. Default implementation is no-op.</p>
</div><dl class="attributes"><dt>Value parameters:</dt><dd><dl class="attributes"><dt>cfg</dt><dd><p>Configuration of the model this component is associated with.</p>
</dd></dl></dd><dt>Inherited from:</dt><dd><a href="../../NCLifecycle.html#onStop-fffff138">NCLifecycle</a></dd><dt>Source:</dt><dd><a href="https://github.com/apache/incubator-nlpcraft/blob/master/nlpcraft/src/main/scala/org/apache/nlpcraft/NCLifecycle.scala#L43">NCLifecycle.scala</a></dd></dl></div></div></div></div></div></div><div class="documentableList"><h3 class="groupHeader">Inherited fields</h3><div class="documentableElement" id="logger-0" data-f-visibility="protected" data-f-keywords="lazy" data-f-inherited="LazyLogging"><a link="NCDictionaryTokenEnricher.html#logger-0" class="documentableAnchor"></a><div><span class="annotations monospace"><a href="https://www.scala-lang.org/api/2.13.8/scala/transient.html" t="t">@transient</a> </span></div><div class="header monospace"><div class="signature"><span class="modifiers"><span t="k">lazy protected </span></span><span class="kind"><span t="k">val </span></span><a href="NCDictionaryTokenEnricher.html#logger-0" class="documentableName ">logger</a><span>: <span data-unresolved-link="" t="t">Logger</span></span></div></div><div class="docs"><span class="modifiers"></span><div><div class="originInfo"></div><div class="memberDocumentation"><div class="documentableBrief doc"></div><div class="cover"><div class="doc"></div><dl class="attributes"><dt>Inherited from:</dt><dd><span data-unresolved-link="">LazyLogging</span></dd><dt>Source:</dt><dd><a href="https://github.com/apache/incubator-nlpcraft/blob/master/src/main/scala/com/typesafe/scalalogging/Logging.scala#L12">Logging.scala</a></dd></dl></div></div></div></div></div></div></div></div></div></div></div></div></main><footer><div id="generated-by"><span class="footer-text">Generated by</span><a href="https://github.com/lampepfl/dotty/tree/master/scaladoc"><img src="../../../../../images/scaladoc_logo.svg" alt="scaladoc" class="scaladoc_logo"></img><img src="../../../../../images/scaladoc_logo_dark.svg" alt="scaladoc" class="scaladoc_logo_dark"></img></a></div><span id="footer-text">Apache NLPCraft</span><div class="socials"><span class="footer-text">Social links</span><a href="https://github.com/apache/incubator-nlpcraft"><span class="social-icon" data-icon-path="github-icon-black.png"></span></a></div><div class="mode"><span class="footer-text">Mode</span><label id="theme-toggle" class="switch"><input type="checkbox"></input><span class="slider"></span></label></div><span class="go-to-top-icon"><a href="#container"><span class="icon-vertical_align_top"></span><span class="footer-text">Back to top</span></a></span></footer></div></div></body></html>