ডাক অ্যাড্রেসগুলি ফাজি ম্যাচিং কীভাবে করবেন?


14

আমি জানতে চাই যে ডাক ঠিকানাগুলি কীভাবে তাদের ফর্ম্যাটটি আলাদা হয় বা যখন তার একটিতে ভুল বানান থাকে তখন কীভাবে মিলিত হয়।

এখনও অবধি আমি বিভিন্ন সমাধান খুঁজে পেয়েছি তবে আমি মনে করি এগুলি বেশ পুরানো এবং খুব দক্ষ নয়। আমি নিশ্চিত যে আরও ভাল কিছু পদ্ধতি বিদ্যমান, সুতরাং আপনার যদি আমার পড়ার জন্য রেফারেন্স থাকে তবে আমি নিশ্চিত যে এটি এমন একটি বিষয় যা বেশিরভাগ ব্যক্তির পক্ষে আগ্রহী হতে পারে।

আমি যে সমাধানটি পেয়েছি (উদাহরণগুলি আর-তে রয়েছে):

  • লেভেনস্টেইন দূরত্ব, যা আপনাকে একটি শব্দকে অন্য শব্দে রূপান্তর করতে inোকাতে, মুছতে বা পরিবর্তন করতে হবে এমন অক্ষরের সংখ্যার সমান।

    agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE) ## [1] "accusait" "abusait"

  • ফোনমের তুলনা

    library(RecordLinkage) soundex(x<-c('accusait','acusait','abusait')) ## [1] "A223" "A223" "A123"

  • একটি বানান সংশোধক ব্যবহার (অবশেষে পিটার নরভিগের মতো বেয়েসিয়ান) , তবে আমার ধারণা ঠিকানার পক্ষে খুব দক্ষ নয়।

  • গুগলের পরামর্শগুলি ব্যবহার করার বিষয়ে আমি ভেবেছিলাম, তবে তেমনিভাবে এটি ব্যক্তিগত ডাক ঠিকানাগুলিতে খুব দক্ষ নয়।

  • আপনি কোনও মেশিন লার্নিং তদারকি পদ্ধতির ব্যবহারের কথা কল্পনা করতে পারেন তবে এটির জন্য আপনার ব্যবহারকারীদের ভুল বানান অনুরোধ সংরক্ষণ করতে হবে যা আমার পক্ষে কোনও বিকল্প নয়।


আমি এমন একটি বাস্তব ডেটাবেস ব্যবহার করার পরামর্শ দিচ্ছি যা अस्पष्ट স্ট্রিং মেলাকে সমর্থন করে: পোস্টগ্রেস । এটা দক্ষ হবে।
এমেরে

কেবল মার্কিন যুক্তরাষ্ট্র, কানাডিয়ান, যুক্তরাজ্য, ফরাসি, জাপানি, বহু দেশ ...? সম্ভবত প্রত্যেকের জন্য, আপনি প্রথমে কোন ভাষা এবং দেশ তা নির্ধারণ / অনুমান করুন, তারপরে একটি দেশ-নির্দিষ্ট শ্রেণিবদ্ধ প্রয়োগ করুন? আপনার কি কোনও প্রশিক্ষণ-সেট রয়েছে এবং তা যদি হয় তবে এর দেশগুলিতে বিতরণ কী?
smci

আপনি এই শেষ কোথায়? আমরা যে সমাধানটি তৈরি করেছি তা হ'ল ঠিকানাগুলি এবং নামগুলি সমৃদ্ধ করা এবং গুগল জিওকোডিংকে আঘাত করা এবং ওয়েব এপিআইগুলি স্থাপন করা এবং তারপরে কাঁচা তথ্যের তুলনায় সঠিক ফলাফল নির্ধারণ করার জন্য কিছু মোটামুটি গণনা করা। এটি সামান্য আঁকড়ে তবে কাজ করে তবে ঠিকানা এবং স্থান / অবস্থানগুলি স্বাভাবিক করার জন্য আরও মার্জিত উপায় থাকতে হবে।
ক্রিস স্মিথ

উত্তর:


9

আপনি আর ব্যবহার করছেন এমন সময় আপনি স্ট্রিংডিস্ট প্যাকেজ এবং জারো-উইঙ্কলারের দূরত্বের মেট্রিক যা গণনায় ব্যবহার করা যেতে পারে তা সন্ধান করতে পারেন। এটি যুক্ত করার জন্য মার্কিন সেন্সাস ব্যুরোতে তৈরি করা হয়েছিল।

এই জার্নালে জারো এবং জারো-উইঙ্কলারের দূরত্ব সম্পর্কে আরও তথ্যের জন্য দেখুন ।

বিভিন্ন মিলের কৌশলগুলির তুলনা করার জন্য, এই কাগজটি পড়ুন


4

পূর্ণাঙ্গ চিত্র দেওয়ার জন্য লেভেনস্টাইন দূরত্ব বাড়ানোর প্রচুর চতুর উপায় রয়েছে। ' ফাজি ওয়াজি ' নামে একটি সুন্দর দরকারী মডিউলটির ( অজগরটির জন্য) একটি সংক্ষিপ্ত পরিচিতি এখানে সিটজিইকের দলটির দ্বারা।

দুটি জিনিস আপনি করতে পারেন তা হ'ল আংশিক স্ট্রিংয়ের মিল (যদি আপনার বিভিন্ন দৈর্ঘ্যের স্ট্রিং থাকে, m & n এর সাথে মি <এন বলুন), তবে আপনি কেবল মি অক্ষরের সাথে মেলে। আপনি স্ট্রিংটি টোকেনে পৃথক করতে পারেন (স্বতন্ত্র শব্দ) এবং কীভাবে টোকেনের সেট মেলে বা বর্ণানুক্রমিকভাবে সেগুলি সাজিয়ে সেগুলি অর্ডার করতে পারেন।


4

আংশিক স্ট্রিং ম্যাচগুলি সনাক্ত করার জন্য আর একটি জনপ্রিয় কৌশল (যদিও সাধারণত নথি-স্তরে থাকে) ঝকঝকে । সংক্ষেপে এটি একটি চলমান উইন্ডো পদ্ধতির যা লক্ষ্য শব্দ / ডকের জন্য এন-গ্রামের একটি সেট বের করে এবং জ্যাকার্ড সহগের মাধ্যমে অন্য শব্দ / ডক্সের জন্য এন-গ্রামের সেটের সাথে তুলনা করে । ম্যানেজিং এবং সহকর্মীরা (২০০৮) তথ্য পুনরুদ্ধারের প্রসঙ্গে ডুপ্লিকেটগুলির কাছে এবং ঝলকানি সম্পর্কে আলোচনা করেন।


4

আমি পাইথনে জেনেরিক প্রোবালাব্লাস্টিক ফাজি ম্যাচার লিখেছি যা কোনও ধরণের ডেটার সাথে মিলে যাওয়ার যুক্তিসঙ্গত কাজ করবে:

https://github.com/robinl/fuzzymatcher

এটি মেমোরিতে রয়েছে, সুতরাং আপনি সম্ভবত এটি প্রায় 100 কে সারি উপরে থাকা ডেটাসেটগুলির সাথে মেলে ব্যবহার করতে চান না।

আমি যুক্তরাজ্যের ঠিকানার সাথে সম্পর্কিত একটি অনুরূপ প্রকল্পও লিখেছি, তবে এটি ধরে নেয় আপনার অ্যাড্রেসবেস প্রিমিয়ামে অ্যাক্সেস রয়েছে। এটি স্মরণে নেই, তাই 100 মিটার বা যুক্তরাজ্যের ঠিকানার বিরুদ্ধে ব্যবহার করা হয়েছে। এখানে দেখো:

https://github.com/RobinL/AddressMatcher

আপনি যদি এই দ্রুত যেতে চান তবে আমি আপনার ঠিকানাগুলি স্বাভাবিক করার জন্য লাইবপোস্টাল ব্যবহার করে সুপারিশ করব এবং তারপরে সেগুলি আমার জেনেরিক ফাজিমাচারে ফিড করব pip install fuzzymatcher

আপনি এখানে ব্যবহারের উদাহরণগুলি খুঁজে পেতে পারেন ।


হাই রবিন, আমি আপনার অ্যাড্রেসমাচার লাইব্রেরিতে আগ্রহী। কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে আপনার কোনও ডকুমেন্টেশন রয়েছে? আমার এই সঠিক সমস্যাটি রয়েছে - 1 টি ঠিকানা (অগোছালো) অন্য (অফিসিয়াল ডাক ঠিকানা) এর সাথে মেলানো দরকার। ধন্যবাদ
15 ই

1
দুঃখের সাথে অ্যাড্রেস ম্যাচারের সাথে এটি মোটেই তুচ্ছ নয় এবং আমার কাছে ভাল ডকুমেন্টেশন নেই। আপনার প্রয়োজনীয় প্রধান জিনিসটি হ'ল অ্যাড্রেসবেস প্রিমিয়াম, একটি বাণিজ্যিক পণ্য, পোস্টগ্রেসকিএল-এ লোড করা।
রবিনএল

ঠিক আছে, আমার কাছে ফিরে আসার জন্য ধন্যবাদ। আমি ধরে নিয়েছি আমি মনে করি এরিকোড নামে অ্যাড্রেসবেস প্রিমিয়ামের আইরিশ সংস্করণ যা বেমানান হবে। আপনি কি মনে করেন যে अस्पष्ट ম্যাচারটি উত্পাদন পরিবেশের ঠিকানা মিলের ক্ষেত্রে কাজটি করতে পারে? আমি কেবলমাত্র আমার ডেটাতে ঠিকানাগুলিতে পোস্টকোড যুক্ত করতে চাই যা সেগুলি নেই, যেমন এরিকোড ড্যাটাবাসের জন্য অনুসন্ধান করুন '1 Main Street, Some Town, County'এবং যদি আমি কোনও মিল খুঁজে পাই - পোস্টকোডটি ফিরিয়ে আনুন।
স্কুল

1
অস্পষ্ট ম্যাচার - হ্যাঁ আমি অবশ্যই যেতে চাই। একটি মৌমাছি মেশিনে লেখক ঠিকানা (অর্থাত্ ইরকোড) এর একটি বৃহত তালিকার মধ্যে ঠিকানাগুলির একটি ক্ষুদ্রতম তালিকার জন্য এটি যুক্তিসঙ্গতভাবে ভাল কাজ করা উচিত। আর একটি বিকল্প হ'ল আর-এ ফাস্টলিংক প্যাকাকেজ
প্যাকাকেজ রবিনএল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.