summaryrefslogtreecommitdiffstats
path: root/linguistics
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-09-19 22:03:39 +0200
committerJon Bratseth <bratseth@gmail.com>2021-09-19 22:03:39 +0200
commit03cca9c42b32d8d4ba24b348f8466de42bb05cd7 (patch)
treea6348759bf87ddb7cece3e74477067dc3981188a /linguistics
parent7ccaece3a2d065de9eb5a4cb18bc2f02d908d595 (diff)
Add 'encode' expression
Diffstat (limited to 'linguistics')
-rw-r--r--linguistics/abi-spec.json19
-rw-r--r--linguistics/src/main/java/com/yahoo/language/process/Encoder.java17
2 files changed, 35 insertions, 1 deletions
diff --git a/linguistics/abi-spec.json b/linguistics/abi-spec.json
index e8687b5c9f4..dc7450678c5 100644
--- a/linguistics/abi-spec.json
+++ b/linguistics/abi-spec.json
@@ -328,6 +328,21 @@
],
"fields": []
},
+ "com.yahoo.language.process.Encoder$FailingEncoder": {
+ "superClass": "java.lang.Object",
+ "interfaces": [
+ "com.yahoo.language.process.Encoder"
+ ],
+ "attributes": [
+ "public"
+ ],
+ "methods": [
+ "public void <init>()",
+ "public java.util.List encode(java.lang.String, com.yahoo.language.Language)",
+ "public com.yahoo.tensor.Tensor encode(java.lang.String, com.yahoo.language.Language, com.yahoo.tensor.TensorType)"
+ ],
+ "fields": []
+ },
"com.yahoo.language.process.Encoder": {
"superClass": "java.lang.Object",
"interfaces": [],
@@ -340,7 +355,9 @@
"public abstract java.util.List encode(java.lang.String, com.yahoo.language.Language)",
"public abstract com.yahoo.tensor.Tensor encode(java.lang.String, com.yahoo.language.Language, com.yahoo.tensor.TensorType)"
],
- "fields": []
+ "fields": [
+ "public static final com.yahoo.language.process.Encoder throwsOnUse"
+ ]
},
"com.yahoo.language.process.GramSplitter$Gram": {
"superClass": "java.lang.Object",
diff --git a/linguistics/src/main/java/com/yahoo/language/process/Encoder.java b/linguistics/src/main/java/com/yahoo/language/process/Encoder.java
index 91de16f669b..27f73d15e54 100644
--- a/linguistics/src/main/java/com/yahoo/language/process/Encoder.java
+++ b/linguistics/src/main/java/com/yahoo/language/process/Encoder.java
@@ -14,6 +14,9 @@ import java.util.List;
*/
public interface Encoder {
+ /** An instance of this which throws IllegalStateException if attempted used */
+ Encoder throwsOnUse = new FailingEncoder();
+
/**
* Encodes text into tokens in a list of ids.
*
@@ -36,4 +39,18 @@ public interface Encoder {
*/
Tensor encode(String text, Language language, TensorType tensorType);
+ class FailingEncoder implements Encoder {
+
+ @Override
+ public List<Integer> encode(String text, Language language) {
+ throw new IllegalStateException("No encoder has been configured");
+ }
+
+ @Override
+ public Tensor encode(String text, Language language, TensorType tensorType) {
+ throw new IllegalStateException("No encoder has been configured");
+ }
+
+ }
+
}