Usaddress adalah perpustakaan Python untuk parsing string alamat Amerika Serikat yang tidak terstruktur ke dalam komponen alamat, menggunakan metode NLP canggih.
Apa yang dapat dilakukan: Menggunakan model probabilistik, itu membuat tebakan (sangat berpendidikan) dalam mengidentifikasi komponen alamat, bahkan dalam kasus-kasus rumit di mana parser berbasis aturan biasanya rusak.
Apa yang tidak dapat dilakukan: Ini tidak dapat mengidentifikasi komponen alamat dengan akurasi sempurna, juga tidak dapat memverifikasi bahwa alamat yang diberikan benar/valid.
Ini juga tidak menormalkan alamat. Namun, perpustakaan ini dibangun di atas Usaddress melakukannya.
API yang tenang dibangun di atas Usaddress untuk pemrogram yang tidak menggunakan ular python. Membutuhkan kunci API dan 1.000 parse pertama gratis.
Parserator: Alamat parse dan split memungkinkan Anda untuk dengan mudah membagi alamat menjadi kolom terpisah berdasarkan jalanan, kota, negara bagian, kode zipcode, dan lebih banyak lagi di Google Sheets.
Di terminal,
pip install usaddress Perhatikan bahwa parse dan tag adalah metode yang berbeda:
import usaddress
addr = '123 Main St. Suite 100 Chicago, IL'
# The parse method will split your address string into components, and label each component.
# expected output: [(u'123', 'AddressNumber'), (u'Main', 'StreetName'), (u'St.', 'StreetNamePostType'), (u'Suite', 'OccupancyType'), (u'100', 'OccupancyIdentifier'), (u'Chicago,', 'PlaceName'), (u'IL', 'StateName')]
usaddress . parse ( addr )
# The tag method will try to be a little smarter
# it will merge consecutive components, strip commas, & return an address type
# expected output: (OrderedDict([('AddressNumber', u'123'), ('StreetName', u'Main'), ('StreetNamePostType', u'St.'), ('OccupancyType', u'Suite'), ('OccupancyIdentifier', u'100'), ('PlaceName', u'Chicago'), ('StateName', u'IL')]), 'Street Address')
usaddress . tag ( addr )Usaddress menggunakan parserator, perpustakaan untuk membuat dan meningkatkan parser probabilistik - khususnya, parser yang menggunakan implementasi bidang acak bersyarat Python -CRFSUITE. Parserator memungkinkan Anda untuk melatih model Parser Usaddress (file pengaturan .CRFSUITE) pada data pelatihan berlabel, dan menyediakan alat untuk menambahkan data pelatihan berlabel baru.
Untuk membangun versi pengembangan Usaddress di mesin Anda, jalankan kode berikut di baris perintah Anda:
git clone https://github.com/datamade/usaddress.git
cd usaddress
pip install -r requirements.txt
python setup.py develop
parserator train training/labeled.xml usaddress
Kemudian jalankan suite pengujian untuk mengkonfirmasi bahwa semuanya berfungsi dengan baik:
nosetests .
Kesulitan membangun kode? Buka masalah dan kami akan dengan senang hati membantu Anda memecahkan masalah.
Jika Usaddress secara konsisten gagal pada pola alamat tertentu, Anda dapat menyesuaikan perilaku parser dengan menambahkan data pelatihan baru ke model. Ikuti panduan kami di direktori pelatihan, dan pastikan untuk membuat permintaan tarik sehingga kami dapat memasukkan kontribusi Anda ke dalam rilis kami berikutnya!
Laporkan masalah dalam pelacak masalah
Jika sebuah alamat diuraikan secara tidak benar, beri tahu kami! Anda dapat membuka masalah atau (jika Anda suka berpetualang) menambahkan data pelatihan baru untuk meningkatkan model parser. Jika memungkinkan, silakan kirim beberapa contoh dunia nyata dari pola alamat yang serupa, bersama dengan beberapa info tentang sumber data - ini akan membantu kami melatih parser dan meningkatkan kinerjanya.
Jika sesuatu di perpustakaan tidak berperilaku secara intuitif, itu adalah bug, dan harus dilaporkan.
Hak Cipta (C) Konstitusi Jurnal Atlanta 2014. Dirilis di bawah lisensi MIT.