USADdress est une bibliothèque Python pour analyser les chaînes d'adresses américaines non structurées dans les composants d'adressage, en utilisant des méthodes NLP avancées.
Ce que cela peut faire: en utilisant un modèle probabiliste, cela fait des suppositions (très éduquées) dans l'identification des composants d'adresse, même dans des cas délicats où les analyseurs basés sur des règles se décomposent généralement.
Ce que cela ne peut pas faire: il ne peut pas identifier les composants d'adresse avec une précision parfaite, ni vérifier qu'une adresse donnée est correcte / valide.
Il ne normalise pas non plus l'adresse. Cependant, cette bibliothèque construite sur Usaddress le fait.
Une API RESTful construite sur Usaddress pour les programmeurs qui n'utilisent pas Python. Nécessite une clé API et les 1 000 premiers Parses sont gratuits.
PARSERATOR: Les adresses d'analyse et de partage vous permet de diviser facilement les adresses en colonnes distinctes par rue, ville, état, code postal et plus dans Google Sheets.
Dans le terminal,
pip install usaddress Notez que parse et tag sont des méthodes différentes:
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 utilise PARSERATOR, une bibliothèque pour fabriquer et améliorer les analyseurs probabilistes - en particulier, les analyseurs qui utilisent la mise en œuvre par Python-CrfSuite de champs aléatoires conditionnels. PARSERATOR vous permet de former le modèle USADdress Pariser (un fichier de paramètres .crfSuite) sur les données de formation étiquetées et fournit des outils pour ajouter de nouvelles données de formation étiquetées.
Pour créer une version de développement d'Usaddress sur votre machine, exécutez le code suivant dans votre ligne de commande:
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
Ensuite, exécutez la suite de tests pour confirmer que tout fonctionne correctement:
nosetests .
Vous avez du mal à construire le code? Ouvrez un problème et nous serions heureux de vous aider à dépanner.
Si Usaddress échoue régulièrement sur des modèles d'adresse particuliers, vous pouvez ajuster le comportement de l'analyseur en ajoutant de nouvelles données de formation au modèle. Suivez notre guide dans le répertoire de formation et assurez-vous de faire une demande de traction afin que nous puissions intégrer votre contribution dans notre prochaine version!
Signaler les problèmes dans le tracker du numéro
Si une adresse a été mal analysée, veuillez nous le faire savoir! Vous pouvez ouvrir un problème ou (si vous êtes aventureux) ajouter de nouvelles données de formation pour améliorer le modèle de l'analyseur. Lorsque cela est possible, veuillez envoyer quelques exemples du monde réel de modèles d'adresse similaires, ainsi que quelques informations sur la source des données - cela nous aidera à former l'analyseur et à améliorer ses performances.
Si quelque chose dans la bibliothèque ne se comporte pas intuitivement, c'est un bug et doit être signalé.
Copyright (C) 2014 Atlanta Journal Constitution. Libéré sous la licence du MIT.