Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dylanhogg/address-app
Maps free-text address -> Structured fields using machine learning
https://github.com/dylanhogg/address-app
address parsing street
Last synced: 3 days ago
JSON representation
Maps free-text address -> Structured fields using machine learning
- Host: GitHub
- URL: https://github.com/dylanhogg/address-app
- Owner: dylanhogg
- License: mit
- Created: 2021-08-24T07:09:41.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-21T04:42:47.000Z (over 3 years ago)
- Last Synced: 2025-01-11T00:07:37.141Z (16 days ago)
- Topics: address, parsing, street
- Language: Python
- Homepage: https://address-app.infocruncher.com/
- Size: 6.69 MB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Address App
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](https://geoscape.com.au/data/g-naf/) fields.
It borrows heavily from the excellent [address-net](https://github.com/jasonrig/address-net) project and uses a pretrained Tensorflow model to parse and segment the free text address.
![demo](docs/app-image.png)
## Working examples
Application: https://address-app.infocruncher.com/
Api: https://address-api.infocruncher.com/
## Project Structure
### App
The `/client` folder is a [Terraform](https://www.terraform.io/) managed S3 website app hosted at [address-app.infocruncher.com](https://address-app.infocruncher.com/) that uses the [api](https://address-api.infocruncher.com/) endpoint.
See `/client/Makefile` for more information around deploying the app to AWS.
### Api
The project root is an [AWS SAM](https://aws.amazon.com/serverless/sam/) managed API [address-api.infocruncher.com](https://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"
}
```