Redshift UDF in Python for name normalization
Budget: $25 – $50 USD
Hi! I would like a User Defined Function (UDF) written in Python to normalize names, written and tested on Amazon Redshift .
You will need access to your own Redshift and S3 accounts to complete this task (S3 will likely be needed to host python libraries)
I am looking for a function that, given the following input returns normalized names, matching the results below:
SELECT input_name, f_normalize_author(input_name) as normalized_name FROM author
Andrea Perušić andrea perusic
Adrian Suryo Mataram adrian suryo mataram
Zhang Ping ping zhang
Weinstock F f weinstock
B Dorfman b dorfman
I. Kosa-Somogyi i kosasomogyi
이영로 이영로
栗林 一彦 栗林 一彦
Note:
- it converted "šić" to approximate ascii
- it knew to reorder "Zhang" as a last name (based on common use?)
- it guessed F is a first initial rather than the last name
- it removed punctuation
- it left Chinese, Korean, Russian etc characters untouched
etc
A sample of 1000 inputs and their expected outputs is attached.
Upon successful completion of this project, you will provide:
- source code for your Python UDF, including the zip files for any custom modules that you used via S3 to use extended python libraries
- the results of applying your function on the input column of the sample file attached, and a note of any diffs between the output of your code and the sample output column (some small differences are likely acceptable)
If you would like to propose a fixed-price quote instead of a per-hour rate, that's fine.
Again, it is very important to me that you have tested this on Redshift so that I can be sure I can just drop it in to my code and it will work.
Thanks!
Heather
You will need access to your own Redshift and S3 accounts to complete this task (S3 will likely be needed to host python libraries)
I am looking for a function that, given the following input returns normalized names, matching the results below:
SELECT input_name, f_normalize_author(input_name) as normalized_name FROM author
Andrea Perušić andrea perusic
Adrian Suryo Mataram adrian suryo mataram
Zhang Ping ping zhang
Weinstock F f weinstock
B Dorfman b dorfman
I. Kosa-Somogyi i kosasomogyi
이영로 이영로
栗林 一彦 栗林 一彦
Note:
- it converted "šić" to approximate ascii
- it knew to reorder "Zhang" as a last name (based on common use?)
- it guessed F is a first initial rather than the last name
- it removed punctuation
- it left Chinese, Korean, Russian etc characters untouched
etc
A sample of 1000 inputs and their expected outputs is attached.
Upon successful completion of this project, you will provide:
- source code for your Python UDF, including the zip files for any custom modules that you used via S3 to use extended python libraries
- the results of applying your function on the input column of the sample file attached, and a note of any diffs between the output of your code and the sample output column (some small differences are likely acceptable)
If you would like to propose a fixed-price quote instead of a per-hour rate, that's fine.
Again, it is very important to me that you have tested this on Redshift so that I can be sure I can just drop it in to my code and it will work.
Thanks!
Heather