This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/master by this push:
new ed60daf WIP.
ed60daf is described below
commit ed60daf98b49116ca392bdeacd0b18ff9dfdbcab
Author: Nikita Ivanov <>
AuthorDate: Sun Dec 5 11:12:35 2021 -0800
WIP.
---
.../main/scala/org/apache/nlpcraft/NCContext.java | 31 ++++++++++++++
.../scala/org/apache/nlpcraft/NCModelAdapter.java | 4 ++
.../apache/nlpcraft/NCModelConfigFileAdapter.java | 14 +++++++
.../main/scala/org/apache/nlpcraft/NCRequest.java | 4 +-
.../main/scala/org/apache/nlpcraft/NCToken.java | 1 +
.../{NCContext.java => NCTokenParser.java} | 13 +++++-
.../nlpcraft/{NCContext.java => NCWord.java} | 49 +++++++++++++++++++++-
.../nlpcraft/{NCContext.java => NCWordParser.java} | 10 ++++-
8 files changed, 121 insertions(+), 5 deletions(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
index 91248eb..e7eede7 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
@@ -17,8 +17,39 @@
package org.apache.nlpcraft;
+import java.util.Collection;
+import java.util.List;
+
/**
*
*/
public interface NCContext {
+ /**
+ * Tests if given token is part of the query this context is associated
with.
+ *
+ * @param tok Token to check.
+ * @return {@code true} if given token is associated with this context,
{@code false} otherwise.
+ */
+ boolean isOwnerOf(NCToken tok);
+
+ /**
+ * Gets model configuration for this query.
+ *
+ * @return Model.
+ */
+ NCModelConfig getModelConfig();
+
+ /**
+ * Gets user request.
+ *
+ * @return User request.
+ */
+ NCRequest getRequest();
+
+ /**
+ * Gets current conversation for this context.
+ *
+ * @return Current conversation.
+ */
+ NCConversation getConversation();
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
index 8298add..c353989 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
@@ -32,4 +32,8 @@ package org.apache.nlpcraft;/*
*
*/
public class NCModelAdapter implements NCModel {
+ @Override
+ public NCModelConfig getConfig() {
+ return null; // TODO
+ }
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
index 714a072..8ff292f 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
@@ -32,4 +32,18 @@ package org.apache.nlpcraft;/*
*
*/
public class NCModelConfigFileAdapter implements NCModelConfig {
+ @Override
+ public String getId() {
+ return null; // TODO
+ }
+
+ @Override
+ public String getName() {
+ return null; // TODO
+ }
+
+ @Override
+ public String getVersion() {
+ return null; // TODO
+ }
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
index 09b0e33..8875c23 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
@@ -69,9 +69,9 @@ public interface NCRequest {
/**
* Gets string representation of the user agent that made the call with
this request.
*
- * @return User agent description (web browser, REST client, etc.).
+ * @return User agent description (web browser, REST client, etc.) or
{@code null} if not available.
*/
- Optional<String> getUserAgent();
+ String getUserAgent();
/**
* Gets optional user request data.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
index d777e74..6064189 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
@@ -144,6 +144,7 @@ public interface NCToken {
* @return Whether this token is a freeword.
*/
boolean isFreeWord();
+
/**
* A shortcut method that gets original user input text for this token.
* <p>
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
similarity index 70%
copy from nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
copy to nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
index 91248eb..36051bb 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
@@ -17,8 +17,19 @@
package org.apache.nlpcraft;
+import java.util.List;
+
/**
*
*/
-public interface NCContext {
+public interface NCTokenParser {
+ /**
+ *
+ * @param req
+ * @param cfg
+ * @param words
+ * @param toks List of already parsed tokens prio to this step. Can be
empty but never {@code null}.
+ * @return
+ */
+ List<NCToken> parse(NCRequest req, NCModelConfig cfg, List<NCWord> words,
List<NCToken> toks);
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWord.java
similarity index 61%
copy from nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
copy to nlpcraft/src/main/scala/org/apache/nlpcraft/NCWord.java
index 91248eb..dc1408c 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWord.java
@@ -20,5 +20,52 @@ package org.apache.nlpcraft;
/**
*
*/
-public interface NCContext {
+public interface NCWord {
+ /**
+ *
+ * @return
+ */
+ String getOriginalText();
+
+ /**
+ *
+ * @return
+ */
+ String getNormalizedText();
+
+ /**
+ *
+ * @return
+ */
+ String getLemma();
+
+ /**
+ *
+ * @return
+ */
+ String getStem();
+
+ /**
+ *
+ * @return
+ */
+ String getPos();
+
+ /**
+ *
+ * @return
+ */
+ int getStartCharIndex();
+
+ /**
+ *
+ * @return
+ */
+ int getEndCharIndex();
+
+ /**
+ *
+ * @return
+ */
+ int getLength();
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWordParser.java
similarity index 84%
copy from nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
copy to nlpcraft/src/main/scala/org/apache/nlpcraft/NCWordParser.java
index 91248eb..4d2d862 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWordParser.java
@@ -17,8 +17,16 @@
package org.apache.nlpcraft;
+import java.util.List;
+
/**
*
*/
-public interface NCContext {
+public interface NCWordParser {
+ /**
+ *
+ * @param req
+ * @return
+ */
+ List<NCWord> parse(NCRequest req);
}