Usaddress هي مكتبة Python لتحليل سلاسل عناوين الولايات المتحدة غير منظمة في مكونات العناوين ، باستخدام أساليب NLP المتقدمة.
ما يمكن أن يفعله هذا: باستخدام نموذج احتمالي ، فإنه يجعل (المتعلم للغاية) تخمينات في تحديد مكونات العناوين ، حتى في الحالات الصعبة التي عادة ما تنهار المحللون القائم على القواعد.
ما لا يمكن أن يفعله هذا: لا يمكنه تحديد مكونات العنوان بدقة تامة ، ولا يمكنه التحقق من أن عنوانًا معينًا صحيح/صالح.
كما أنها لا تطبيع العنوان. ومع ذلك ، فإن هذه المكتبة المبنية فوق Usaddress لا.
واجهة برمجة تطبيقات مريحة تم تصميمها فوق Usaddress للمبرمجين الذين لا يستخدمون Python. يتطلب مفتاح API وأول 1000 متساوية مجانية.
Parserator: يتيح لك العناوين المحلية والانقسام تقسيم العناوين بسهولة إلى أعمدة منفصلة من الشارع والمدينة والولاية والرمز zipcode والمزيد في أوراق Google.
في المحطة ،
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 Parserator ، وهي مكتبة لصنع وتحسين المحللين الاحتماليين - على وجه التحديد ، المحللين الذين يستخدمون تنفيذ Python -Crfsuite للحقول العشوائية الشرطية. يتيح لك Parserator تدريب نموذج Usaddress Parser (ملف إعدادات .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 باستمرار في أنماط عناوين معينة ، فيمكنك ضبط سلوك المحلل من خلال إضافة بيانات تدريب جديدة إلى النموذج. اتبع دليلنا في دليل التدريب ، وتأكد من تقديم طلب سحب حتى نتمكن من دمج مساهمتك في إصدارنا التالي!
الإبلاغ عن مشكلات في تعقب القضية
إذا تم تحليل العنوان بشكل غير صحيح ، فيرجى إخبارنا! يمكنك إما فتح مشكلة أو (إذا كنت مغامرة) إضافة بيانات تدريب جديدة لتحسين نموذج المحلل. عندما يكون ذلك ممكنًا ، يرجى إرسال عدد قليل من الأمثلة في العالم الحقيقي لأنماط العناوين المماثلة ، إلى جانب بعض المعلومات حول مصدر البيانات - سيساعدنا ذلك على تدريب المحلل وتحسين أدائها.
إذا كان هناك شيء ما في المكتبة لا يتصرف بشكل حدسي ، فهو خطأ ، ويجب الإبلاغ عنه.
حقوق الطبع والنشر (ج) 2014 دستور مجلة أتلانتا. صدر تحت رخصة معهد ماساتشوستس للتكنولوجيا.