2012-04-13 19 views
7

जैसे पते को पार्स कर सकता है। मैं जावा 6 का उपयोग कर रहा हूं। मैं पते को पार्स करने के लिए एक स्वचालित तरीका ढूंढ रहा हूं। यदि पते मौजूद हैं या नहीं, तो मैं चिंतित नहीं हूं। सबसे अच्छी बात मैं पाया है JGeocoder (v 0.4.1) है, लेकिन JGeocoder इस तरह के पते पार्स करने में अक्षम हैक्या कोई जावा पार्सर है जो इस

16th Street Theater, Berwyn Cultural Center, 6420 16th St. 

किसी को भी एक नि: शुल्क जावा पते पार्सर कि चुनौती पर निर्भर है की पता है? "पार्स" से मेरा मतलब है कि सड़क, शहर, राज्य, डाक कोड, और संभावित रूप से स्थल का नाम अंतर करने की क्षमता (उपरोक्त स्थान का नाम "16 वें स्ट्रीट थियेटर, बर्विन सांस्कृतिक केंद्र") है।

+6

शुभकामनाएँ। यह एक प्रसिद्ध _extremely_ मुश्किल समस्या है, ज्यादातर पता स्वरूपण में अनंत विविधता के कारण। '80 के दशक में इस तरह के बहुत सारे काम करने के बाद मैं गारंटी दे सकता हूं कि कोई परिपूर्ण (या यहां तक ​​कि 99% सही) समाधान मौजूद नहीं है। आपको विभिन्न देशों के लिए अलग-अलग पारिश्रमिक नियमों की आवश्यकता है, और यहां तक ​​कि किसी देश के क्षेत्रों के लिए, और अपवादों का एक बड़ा शब्दकोश भी है। यदि आप यूएस पते तक सीमित हैं, तो यूएस डाक सेवा वेबसाइट सहायता की जा सकती है। –

उत्तर

0

यदि वेबसाइसेस की अनुमति है, तो आप Google मानचित्रों को आजमा सकते हैं।

+2

टीओएस स्वचालित प्रश्नों की अनुमति नहीं देता है। – Matt

6

अद्यतन: यह विषय this StackOverflow question में अधिक संपूर्ण रूप से कवर किया गया है।


मैं SmartyStreets जहाँ हम पार्स करने और प्रक्रिया पतों के लिए काम करते हैं, और हम एक जवाब है। यही वह है जिसे हम "SLAP" या Single-Line Address Parsing (or Processing) कहते हैं। औपचारिक शब्द Named Entity Recognition (NER) है।

मैं जावा पुस्तकालयों पर एक विशेषज्ञ नहीं हूं, लेकिन मुझे पता है कि किसी भी घर के कार्यान्वयन अपेक्षाओं तक नहीं जीतेगा। यहां कुछ सामान्य कारण हैं जिन लोगों ने मेरी मदद की है उन्हें पहले कठिनाई हुई थी:

  • Google/याहू!/बिंग मैप्स वेब सेवाएं स्वचालित क्वेरी की अनुमति नहीं देती हैं और पार्स किए गए पते की सटीकता को सत्यापित नहीं करती हैं।

  • इन-हाउस कोड केवल मौजूदा पते (डेटाबेस) या आधिकारिक स्रोतों के अन्य प्रकार के ज्ञान के बिना सर्वश्रेष्ठ अनुमान लगा सकता है। मुझे पता है कि आप एक पुस्तकालय चाहते हैं जो इस घर में कर सकता है, लेकिन आप अनुमान लगा सकते हैं ...

  • वैसे, नियमित अभिव्यक्ति उत्तर नहीं है। पार्स पते पर मैंने देखा सबसे अच्छा रेगेक्स गतिशील रूप से सैकड़ों लाइनों कोड और कई वर्गों पर उत्पन्न हुआ था। यह एक गड़बड़ थी, और की अपेक्षाओं के प्रकारों के लिए केवल सही था, वास्तव में सभी वैध (यूएस) स्वरूप नहीं हैं।

यह एक अविश्वसनीय रूप से जटिल कार्य है ... जब तक आपके पास सही उपकरण न हों। हमारी सेवाओं में से एक को LiveAddress API कहा जाता है, और यह Google मानचित्र के समान है कि यह पते और geocodes को पारदर्शी करता है, लेकिन सीएएसएस-प्रमाणित होने के बाद एक कदम आगे जाता है और केवल मान्य पते लौटाता है, लगभग इनपुट प्रारूप से कोई फर्क नहीं पड़ता।

मैं आपको अपने स्वयं के कुछ शोध करने के लिए प्रोत्साहित करता हूं, लेकिन यह शायद सबसे प्रभावी और विश्वसनीय तरीका है।

+0

जैसा कि मुझे डर था, यह सेवा मुफ़्त नहीं है। मैं इसे सही के रूप में चिह्नित नहीं कर रहा हूं केवल बी/सी मैंने निर्दिष्ट किया था कि मैं कुछ मुफ्त खोज रहा था। हालांकि, शायद आपको कुछ अच्छा प्रचार मिलेगा क्योंकि लोगों को Google के माध्यम से यह जवाब मिल जाएगा। – Dave

+0

असल में यह मुफ़्त है; यदि आप डिफ़ॉल्ट 250/mo की तुलना में उच्च क्वेरी सीमा चुनते हैं तो यह केवल धन खर्च करता है। लेकिन निश्चित रूप से, आपको अपनी जरूरतों को पूरा करने के लिए कुछ खोजना चाहिए। अगर आप कुछ और पाते हैं तो हमें बताएं कि आप क्या निर्णय लेते हैं! – Matt

3

https://code.google.com/p/usaddressparser/ अमेरिकी पते स्ट्रिंग पार्स और इसे फ़ील्ड (संख्या, सड़क, सूट, शहर, ज़िप इत्यादि) में विभाजित करता है। जावा जार और स्रोत

+1

ऐसा प्रतीत होता है कि यह प्रोजेक्ट पेज बनाया गया था और कोड की एक पंक्ति को कभी भी – jordanpg

+0

लिखा नहीं गया था, कोड है, इसे बस ज़िप फ़ाइल में दफनाया गया है – slf

संबंधित मुद्दे