Usaddress ist eine Python -Bibliothek für die Parsen unstrukturierter US -Adresskomponenten mit fortschrittlichen NLP -Methoden in Adresskomponenten.
Was dies kann: Verwenden eines probabilistischen Modells (sehr ausgebildete) Vermutungen bei der Identifizierung von Adresskomponenten, selbst in schwierigen Fällen, in denen regelbasierte Parser normalerweise zusammenbrechen.
Was dies nicht kann: Es können keine Adresskomponenten mit perfekter Genauigkeit identifiziert, noch kann dies überprüfen, ob eine bestimmte Adresse korrekt/gültig ist.
Es normalisiert auch die Adresse nicht. Diese Bibliothek, die auf Usaddress aufgebaut ist.
Eine erholsame API, die auf Usaddress für Programmierer aufgebaut ist, die Python nicht verwenden. Benötigt einen API -Schlüssel und die ersten 1.000 Parse sind frei.
Parserator: Analyse und geteilte Adressen ermöglichen es Ihnen, Adressen einfach in separate Spalten durch Straße, Stadt, Bundesstaat, Zipcode und mehr in Google Sheets aufzuteilen.
Im Terminal,
pip install usaddress Beachten Sie, dass parse und tag unterschiedliche Methoden sind:
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 verwendet Parserator, eine Bibliothek, um probabilistische Parser zu erstellen und zu verbessern - insbesondere Parser, die Python -CRFSuite -Implementierung von bedingten Zufallsfeldern verwenden. Mit Parserator können Sie das Modell von USADdress Parser's Model (A.CRFSuite -Einstellungsdatei) für beschriftete Trainingsdaten trainieren und Tools zum Hinzufügen neuer beschrifteter Trainingsdaten bereitstellen.
Führen Sie den folgenden Code in Ihrer Befehlszeile aus, um eine Entwicklungsversion von Usaddress auf Ihrem Computer zu erstellen:
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
Führen Sie dann die Testsuite aus, um zu bestätigen, dass alles richtig funktioniert:
nosetests .
Haben Sie Probleme, den Code aufzubauen? Öffnen Sie ein Problem und wir würden Ihnen gerne helfen, Fehler zu beheben.
Wenn USAddress in bestimmten Adressmustern konsequent fehlschlägt, können Sie das Verhalten des Parsers anpassen, indem Sie dem Modell neue Trainingsdaten hinzufügen. Folgen Sie unserem Leitfaden im Trainingsverzeichnis und stellen Sie sicher, dass Sie eine Pull -Anfrage stellen, damit wir Ihren Beitrag in unsere nächste Veröffentlichung einbeziehen können!
Melden Sie Probleme im Problem Tracker
Wenn eine Adresse falsch analysiert wurde, lassen Sie es uns bitte wissen! Sie können entweder ein Problem eröffnen oder (wenn Sie abenteuerlustig sind) neue Trainingsdaten hinzufügen, um das Modell des Parsers zu verbessern. Wenn möglich, senden Sie bitte einige Beispiele für ähnliche Adressmuster mit einigen Informationen zur Quelle der Daten. Dies hilft uns, den Parser zu schulen und seine Leistung zu verbessern.
Wenn sich etwas in der Bibliothek nicht intuitiv verhält, ist es ein Fehler und sollte gemeldet werden.
Copyright (C) 2014 Atlanta Journal Constitution. Unter der MIT -Lizenz veröffentlicht.