NLP:使用函数的返回值,但无需多次运行函数

时间:2019-03-08 17:28:38

标签: python-3.x function parsing nlp

我正在使用Amazon comprehend创建用于nlp提取的管道。我的第一个功能基本上是将文档放入aws进行分析,并且还返回结果,该结果存储在下面的“实体”列表中。

def acm_extractor()
  entities=[]
  for filename in os.listdir("training_ground"):
      fullPath = os.path.join("training_ground", filename)
      if os.path.isfile(fullPath):
          in_file = open(fullPath,'r')
          clinical_text =in_file.read()
          comprehend = boto3.client(service_name='comprehendmedical')
          entities=[]
          result = comprehend.detect_entities(Text=clinical_text)
          entities.append(result['Entities'])
 return entities

我还有其他功能可以分析这些结果:

def horizontal_metric():
  name_entity_list = acm_extractor()
   ----- other parsing and evaluation calculation code ----

def inexact_horizontal_metric():
  name_entity_list = acm_extractor()
   ----- other parsing and evaluation calculation code ----

def exact_vertical_metric():
  name_entity_list = acm_extractor()
   ----- other parsing and evaluation calculation code ----

def inexact_vertical_metric():
  name_entity_list = acm_extractor()
   ----- other parsing and evaluation calculation code ----

从上面可以看到,我为每个函数调用了acm_extractor() 4次,以使用存储在acm_extractor()函数中的实体列表中的原始结果。我最大的担心是,亚马逊理解的是按使用付费的系统。由于我多次调用acm_extractor()函数,因此我认为文档也多次被推入系统。我的总体目标是分析150个笔记,每个文本单元的成本为0.01美元。

话虽这么说,有没有建议使用第一个函数的结果而不多次运行它?

谢谢!

0 个答案:

没有答案