in functions/source/publish-call-metadata/lambda_function.py [0:0]
def extract_DOB(transcript):
punc = '''!()-[]{};:'"\,<>.?@#$%^&*_~'''
for ele in punc:
if ele in punc:
transcript = transcript.replace(ele, '')
transcript = transcript.lower()
context = [i.lower() for i in ['date of birth', 'DOB', 'birthdate', 'birth date']]
b = list(filter(lambda k: transcript.find(k) != -1, context))
if b != []:
c = transcript.find(b[0])
text = transcript[np.clip(c - 50, 0, len(transcript)):np.clip(c + 100, 0, len(transcript))]
text = text.replace('of', '').replace(' ', ' ')
try:
r1 = re.findall(r"\s[0-9]{1,2}[a-z]{2}\s", text)[0].strip()
r = re.findall(r"[0-9]{1,2}", r1)[0]
text = text.replace(r1, r)
dob = extract_dates(text)
except:
dob = extract_dates(text)
if len(dob) != 0:
return str(dob[0].month).zfill(2) + '-' + str(dob[0].day).zfill(2) + '-' + str(dob[0].year)
else:
return ''
else:
return ''