আমি জানতে চাই যে ডাক ঠিকানাগুলি কীভাবে তাদের ফর্ম্যাটটি আলাদা হয় বা যখন তার একটিতে ভুল বানান থাকে তখন কীভাবে মিলিত হয়।
এখনও অবধি আমি বিভিন্ন সমাধান খুঁজে পেয়েছি তবে আমি মনে করি এগুলি বেশ পুরানো এবং খুব দক্ষ নয়। আমি নিশ্চিত যে আরও ভাল কিছু পদ্ধতি বিদ্যমান, সুতরাং আপনার যদি আমার পড়ার জন্য রেফারেন্স থাকে তবে আমি নিশ্চিত যে এটি এমন একটি বিষয় যা বেশিরভাগ ব্যক্তির পক্ষে আগ্রহী হতে পারে।
আমি যে সমাধানটি পেয়েছি (উদাহরণগুলি আর-তে রয়েছে):
লেভেনস্টেইন দূরত্ব, যা আপনাকে একটি শব্দকে অন্য শব্দে রূপান্তর করতে 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"
একটি বানান সংশোধক ব্যবহার (অবশেষে পিটার নরভিগের মতো বেয়েসিয়ান) , তবে আমার ধারণা ঠিকানার পক্ষে খুব দক্ষ নয়।
গুগলের পরামর্শগুলি ব্যবহার করার বিষয়ে আমি ভেবেছিলাম, তবে তেমনিভাবে এটি ব্যক্তিগত ডাক ঠিকানাগুলিতে খুব দক্ষ নয়।
আপনি কোনও মেশিন লার্নিং তদারকি পদ্ধতির ব্যবহারের কথা কল্পনা করতে পারেন তবে এটির জন্য আপনার ব্যবহারকারীদের ভুল বানান অনুরোধ সংরক্ষণ করতে হবে যা আমার পক্ষে কোনও বিকল্প নয়।