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

seanfinan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ctakes.git


The following commit(s) were added to refs/heads/main by this push:
     new 8062b41  event_creator.py  Replaced missing type EventMention 
helper_functions.py  Fixed Procedure != EventMention, removed unnecessary i=0 
reset negation_delegator.py Made callers static functions, sort the 
EventMentions before calling get_covered_list
     new cd926ab  Merge remote-tracking branch 'origin/main' into main
8062b41 is described below

commit 8062b410cd422748b8a247810852ece419f6bd75
Author: Sean Finan <[email protected]>
AuthorDate: Mon Feb 20 17:26:18 2023 -0500

    event_creator.py  Replaced missing type EventMention
    helper_functions.py  Fixed Procedure != EventMention, removed unnecessary 
i=0 reset
    negation_delegator.py Made callers static functions, sort the EventMentions 
before calling get_covered_list
---
 .../src/ctakes_cnlpt/ae/negation_delegator.py      | 37 +++++++++++++---------
 .../src/ctakes_pbj/pbj_tools/event_creator.py      |  2 +-
 .../src/ctakes_pbj/pbj_tools/helper_functions.py   |  3 +-
 3 files changed, 24 insertions(+), 18 deletions(-)

diff --git 
a/ctakes-examples/src/user/resources/org/apache/ctakes/examples/ctakes_cnlpt_py/src/ctakes_cnlpt/ae/negation_delegator.py
 
b/ctakes-examples/src/user/resources/org/apache/ctakes/examples/ctakes_cnlpt_py/src/ctakes_cnlpt/ae/negation_delegator.py
index 262cde6..53129c0 100644
--- 
a/ctakes-examples/src/user/resources/org/apache/ctakes/examples/ctakes_cnlpt_py/src/ctakes_cnlpt/ae/negation_delegator.py
+++ 
b/ctakes-examples/src/user/resources/org/apache/ctakes/examples/ctakes_cnlpt_py/src/ctakes_cnlpt/ae/negation_delegator.py
@@ -9,12 +9,31 @@ from ctakes_pbj.pbj_tools.helper_functions import *
 sem = asyncio.Semaphore(1)
 
 
+async def init_caller():
+    await negation_rest.startup_event()
+
+
+async def negation_caller(cas, text, event_mentions, offsets):
+    e_doc = EntityDocument(doc_text=text, entities=offsets)
+    # async with sem:
+    negation_output = await negation_rest.process(e_doc)
+    i = 0
+    for e in event_mentions:
+        # -1 represents that it had happened, 1 represents that it is negated
+        e.polarity = negation_output.statuses[i] * -1
+        i += 1
+
+
+def a_sort_by(a):
+    return a.begin
+
+
 class NegationDelegator(cas_annotator.CasAnnotator):
 
     # Initializes the cNLPT, which loads its Negation model.
     def initialize(self):
         print(time.ctime((time.time())), "Initializing cnlp-transformers 
negation ...")
-        asyncio.run(self.init_caller())
+        asyncio.run(init_caller())
         print(time.ctime((time.time())), "Done.")
 
     # Processes the document to get Negation on Events from cNLPT.
@@ -23,6 +42,7 @@ class NegationDelegator(cas_annotator.CasAnnotator):
         # print(time.ctime((time.time())), "Processing cnlp-transformers 
negation on", get_document_id(cas), "...")
         sentences = cas.select(ctakes_types.Sentence)
         event_mentions = cas.select(ctakes_types.EventMention)
+        event_mentions.sort(key=a_sort_by)
         sentence_events = get_covered_list(sentences, event_mentions)
 
         i = 0
@@ -31,19 +51,6 @@ class NegationDelegator(cas_annotator.CasAnnotator):
                 print(time.ctime((time.time())), "Processing cnlp-transformers 
negation on sentence",
                       str(i), "of", str(len(sentences)), "...")
                 offsets = get_windowed_offsets(sentence_events[i], 
sentences[i].begin)
-                asyncio.run(self.negation_caller(cas, 
sentences[i].get_covered_text(), sentence_events[i], offsets))
+                asyncio.run(negation_caller(cas, 
sentences[i].get_covered_text(), sentence_events[i], offsets))
             i += 1
         print(time.ctime((time.time())), "cnlp-transformers negation Done.")
-
-    async def init_caller(self):
-        await negation_rest.startup_event()
-
-    async def negation_caller(self, cas, text, event_mentions, offsets):
-        e_doc = EntityDocument(doc_text=text, entities=offsets)
-        # async with sem:
-        negation_output = await negation_rest.process(e_doc)
-        i = 0
-        for e in event_mentions:
-            # -1 represents that it had happened, 1 represents that it is 
negated
-            e.polarity = negation_output.statuses[i] * -1
-            i += 1
diff --git 
a/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/event_creator.py
 
b/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/event_creator.py
index 71ebaed..ebb6088 100644
--- 
a/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/event_creator.py
+++ 
b/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/event_creator.py
@@ -4,7 +4,7 @@ from ctakes_pbj.type_system import ctakes_types
 class EventCreator:
 
     def __init__(self, cas):
-        self.event_mention_type = cas.typesystem.get_type
+        self.event_mention_type = 
cas.typesystem.get_type(ctakes_types.EventMention)
         self.event_type = cas.typesystem.get_type(ctakes_types.Event)
         self.event_properties_type = 
cas.typesystem.get_type(ctakes_types.EventProperties)
 
diff --git 
a/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/helper_functions.py
 
b/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/helper_functions.py
index 96987bd..2c8f1ef 100644
--- 
a/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/helper_functions.py
+++ 
b/ctakes-pbj/src/user/resources/org/apache/ctakes/pbj/ctakes_pbj_py/src/ctakes_pbj/pbj_tools/helper_functions.py
@@ -24,8 +24,7 @@ def get_event_mention(cas, e_mentions, e_m_begins, begin, 
end):
         if b == begin:
             return e_mentions[i]
         i += 1
-    i = 0
-    event_men_type = cas.typesystem.get_type(ctakes_types.Procedure)
+    event_men_type = cas.typesystem.get_type(ctakes_types.EventMention)
     return create_type.add_type(cas, event_men_type, begin, end)
 
 

Reply via email to