USADDRESSは、非構造化された米国のアドレス指定を解析するためのPythonライブラリであり、高度なNLPメソッドを使用してアドレスコンポーネントに文字列をアドレス指定します。
これができること:確率論的モデルを使用して、ルールベースのパーサーが通常壊れる場合でも、アドレスコンポーネントを識別する際に(非常に教育を受けた)推測を行います。
これができないこと:アドレスコンポーネントを完全な精度で識別することも、特定のアドレスが正しい/有効であることを確認することもできません。
また、アドレスを正規化しません。ただし、Usaddressの上に構築されたこのライブラリはそうです。
Pythonを使用していないプログラマーのために、UsAddressの上に構築されたRESTFUL API。 APIキーが必要であり、最初の1,000個のパージは無料です。
パーセレーター:解析および分割アドレスを使用すると、Googleシートで通り、市、州、Zipcodeなど、通り、都市、州、Zipcodeなどの別々の列にアドレスを簡単に分割できます。
ターミナルで、
pip install usaddress parseとtag異なる方法であることに注意してください。
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は、確率的パーサーを作成および改善するためのライブラリ、特にPython -CRFSUITEの条件付きランダムフィールドの実装を使用するパーサーを使用します。 Parseratorを使用すると、ラベル付きトレーニングデータでUSADDRESSパーサーのモデル(.CRFSUITE設定ファイル)をトレーニングでき、新しいラベル付きトレーニングデータを追加するためのツールを提供できます。
マシンにUSADDRESSの開発バージョンを構築するには、コマンドラインで次のコードを実行します。
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
次に、テストスイートを実行して、すべてが適切に機能していることを確認します。
nosetests .
コードの構築に問題がありますか?問題を開くと、トラブルシューティングを手伝ってくれてうれしいです。
USADDRESSが特定のアドレスパターンで一貫して失敗している場合、モデルに新しいトレーニングデータを追加することにより、パーサーの動作を調整できます。トレーニングディレクトリでガイドをフォローし、次のリリースに貢献を組み込むことができるように、必ずプルリクエストを行います!
問題トラッカーの問題を報告します
アドレスが誤って解析された場合は、お知らせください!問題を開くか(冒険好きな場合)、新しいトレーニングデータを追加してパーサーのモデルを改善できます。可能であれば、データのソースに関するいくつかの情報とともに、同様のアドレスパターンのいくつかの実際の例を送信してください。これは、パーサーの訓練とパフォーマンスの向上に役立ちます。
ライブラリ内の何かが直感的に動作していない場合、それはバグであり、報告する必要があります。
著作権(c)2014アトランタジャーナル憲法。 MITライセンスの下でリリースされました。