This is an automated email from the ASF dual-hosted git repository.

sergeykamov pushed a commit to branch NLPCRAFT-471
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-471 by this push:
     new 863baca  WIP.
863baca is described below

commit 863baca83de9f3edd59a57cf463cac9e2bd0ea78
Author: Sergey Kamov <[email protected]>
AuthorDate: Mon Dec 27 16:43:54 2021 +0300

    WIP.
---
 .../token/enricher/impl/NCOpenNlpTokenEnricherImpl.scala   | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/nlp/token/enricher/impl/NCOpenNlpTokenEnricherImpl.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/nlp/token/enricher/impl/NCOpenNlpTokenEnricherImpl.scala
index 81b7b37..45dd85f 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/nlp/token/enricher/impl/NCOpenNlpTokenEnricherImpl.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/nlp/token/enricher/impl/NCOpenNlpTokenEnricherImpl.scala
@@ -62,16 +62,18 @@ class NCOpenNlpTokenEnricherImpl(models: JMap[String, 
String]) extends NCTokenEn
         if hs.nonEmpty then
             val toksSeqIdxs = toks.asScala.zipWithIndex
             for (h <- hs)
-                val t1 = toksSeqIdxs.find { case (_, idx) => idx == h.start }
-                val t2 = toksSeqIdxs.find { case (_, idx) => idx == h.end }
+                def calcIndex(getHolderIndex: Holder => Int) =
+                    toksSeqIdxs.find { case (_, idx) => idx == 
getHolderIndex(h) } match
+                        case Some((_, idx)) => idx
+                        case None => -1
 
-                if t1.nonEmpty && t2.nonEmpty then
-                    val i1 = t1.get._2
-                    val i2 = t2.get._2
+                val i1 = calcIndex(_.start)
+                val i2 = calcIndex(_.end)
 
+                if i1 != -1 && i2 != -1 then
                     for ((tok, idx) <- toksSeqIdxs if idx >= i1 && idx <= i2)
                         tok.put(s"opennlp:name", h.name)
                         tok.put(s"opennlp:probability", h.probability)
 
                         // To avoid scala unexpected NPE from previous 
operation.
-                        ()
+                        ()
\ No newline at end of file

Reply via email to