我正在使用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美元。
话虽这么说,有没有建议使用第一个函数的结果而不多次运行它?
谢谢!