TLDR: Mapping free-text address -> Structured fields using machine learning.
This project has an api and application to map free-text street addresses to structured Australian GNAF fields.
It borrows heavily from the excellent address-net project and uses a pretrained Tensorflow model to parse and segment the free text address.
Application: https://address-app.infocruncher.com/
Api: https://address-api.infocruncher.com/
The /client
folder is a Terraform managed S3 website app hosted at address-app.infocruncher.com that uses the api endpoint.
See /client/Makefile
for more information around deploying the app to AWS.
The project root is an AWS SAM managed API address-api.infocruncher.com consisting of an API Gateway with Lambda backend.
The actual app that is deployed to Lambda is Dockerised and can be found in /app
See /Makefile
for more information around deploying the api to AWS.
Example Api response given a POST request with Unit 18/14-18 Flood St, Bondi, NSW 2026
:
{
"address": "Unit 18/14-18 Flood St, Bondi, NSW 2026",
"result": {
"flat_type": "UNIT",
"flat_number": "18",
"number_first": "14",
"number_last": "18",
"street_name": "FLOOD",
"street_type": "STREET",
"locality_name": "BONDI",
"state": "NEW SOUTH WALES",
"postcode": "2026"
},
"handler_time": "0:00:01.180911",
"runtime_time": "0:04:24.914928",
"model_dir": "/opt/ml/model/pretrained",
"version": "0.1.11"
}