blob: 7750a2ad42191123b762ffb0df4dbb416641f205 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_161) on Thu Jul 09 15:07:16 PDT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NCCustomParser (Apache NLPCraft 0.6.2)</title>
<meta name="date" content="2020-07-09">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="NCCustomParser (Apache NLPCraft 0.6.2)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<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"> <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NCCustomParser.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.6.2</span></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/nlpcraft/model/NCCustomParser.html" target="_top">Frames</a></li>
<li><a href="NCCustomParser.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.nlpcraft.model</div>
<h2 title="Interface NCCustomParser" class="title">Interface NCCustomParser</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCLifecycle.html" title="interface in org.apache.nlpcraft.model">NCLifecycle</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">NCCustomParser</span>
extends <a href="../../../../org/apache/nlpcraft/model/NCLifecycle.html" title="interface in org.apache.nlpcraft.model">NCLifecycle</a></pre>
<div class="block">Custom model element parser for programmatic NER implementations. This parser allows to define your own
Named Entity Recognizer (NER) implementation in cases when the standard declarative methods are not expressive
enough. Instance of the parser should be made available in the model via <a href="../../../../org/apache/nlpcraft/model/NCModelView.html#getParsers--"><code>NCModelView.getParsers()</code></a> method.
<p>
By default the semantic data model detects its elements by their declarative synonyms. However,
in some cases this is not expressive enough. In such cases, one or more user-defined parsers 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 multiple custom parsers per model and each one can detect
any number of model elements.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCModelView.html#getParsers--"><code>NCModelView.getParsers()</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model">NCCustomElement</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCCustomParser.html#parse-org.apache.nlpcraft.model.NCRequest-org.apache.nlpcraft.model.NCModelView-java.util.List-java.util.List-">parse</a></span>(<a href="../../../../org/apache/nlpcraft/model/NCRequest.html" title="interface in org.apache.nlpcraft.model">NCRequest</a>&nbsp;req,
<a href="../../../../org/apache/nlpcraft/model/NCModelView.html" title="interface in org.apache.nlpcraft.model">NCModelView</a>&nbsp;mdl,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model">NCCustomWord</a>&gt;&nbsp;words,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model">NCCustomElement</a>&gt;&nbsp;elements)</code>
<div class="block">Analyses user input provided as a list of <a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model"><code>NCCustomWord</code></a> objects and returns a list
of <a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model"><code>NCCustomElement</code></a> objects.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.nlpcraft.model.NCLifecycle">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.nlpcraft.model.<a href="../../../../org/apache/nlpcraft/model/NCLifecycle.html" title="interface in org.apache.nlpcraft.model">NCLifecycle</a></h3>
<code><a href="../../../../org/apache/nlpcraft/model/NCLifecycle.html#onDiscard--">onDiscard</a>, <a href="../../../../org/apache/nlpcraft/model/NCLifecycle.html#onInit--">onInit</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="parse-org.apache.nlpcraft.model.NCRequest-org.apache.nlpcraft.model.NCModelView-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>parse</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model">NCCustomElement</a>&gt;&nbsp;parse(<a href="../../../../org/apache/nlpcraft/model/NCRequest.html" title="interface in org.apache.nlpcraft.model">NCRequest</a>&nbsp;req,
<a href="../../../../org/apache/nlpcraft/model/NCModelView.html" title="interface in org.apache.nlpcraft.model">NCModelView</a>&nbsp;mdl,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model">NCCustomWord</a>&gt;&nbsp;words,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model">NCCustomElement</a>&gt;&nbsp;elements)</pre>
<div class="block">Analyses user input provided as a list of <a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model"><code>NCCustomWord</code></a> objects and returns a list
of <a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model"><code>NCCustomElement</code></a> objects. Note that model elements returned from this method must
be defined in the model, i.e. this method only provides an additional logic of detecting these
elements but they still need to be defined normally in the model.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>req</code> - User request descriptor.</dd>
<dd><code>mdl</code> - Instance of data model this parser belongs to.</dd>
<dd><code>words</code> - Entire user input represented as a list of custom words.</dd>
<dd><code>elements</code> - List of already parsed and detected model elements at the point of this call.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of custom elements. List can be empty or <code>null</code> if no model elements detected.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCModelView.html#getParsers--"><code>NCModelView.getParsers()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NCCustomParser.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.6.2</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">
<li><a href="../../../../org/apache/nlpcraft/model/NCCustomElement.html" title="interface in org.apache.nlpcraft.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/nlpcraft/model/NCCustomWord.html" title="interface in org.apache.nlpcraft.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/nlpcraft/model/NCCustomParser.html" target="_top">Frames</a></li>
<li><a href="NCCustomParser.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><center> <br/> <span style="font-size: larger">Copyright &#169; 2020 Apache Software Foundation</span> <br/> <br/> <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px"> </center></small></p>
</body>
</html>