ฉันต้องการทราบวิธีจับคู่ที่อยู่ทางไปรษณีย์เมื่อรูปแบบของพวกเขาแตกต่างกันหรือเมื่อหนึ่งในนั้นถูกสะกดผิด
จนถึงตอนนี้ฉันได้พบวิธีแก้ไขปัญหาต่าง ๆ แต่ฉันคิดว่ามันค่อนข้างเก่าและไม่มีประสิทธิภาพมาก ฉันแน่ใจว่ามีวิธีที่ดีกว่าอยู่แล้วดังนั้นหากคุณมีการอ้างอิงสำหรับฉันที่จะอ่านฉันแน่ใจว่ามันเป็นเรื่องที่น่าสนใจหลายคน
วิธีแก้ปัญหาที่ฉันพบ (ตัวอย่างอยู่ใน R):
ระยะทางของ Levenshtein ซึ่งเท่ากับจำนวนอักขระที่คุณต้องแทรกลบหรือเปลี่ยนเพื่อแปลงคำหนึ่งไปเป็นอีกคำหนึ่ง
agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE)
## [1] "accusait" "abusait"
การเปรียบเทียบหน่วยเสียง
library(RecordLinkage)
soundex(x<-c('accusait','acusait','abusait'))
## [1] "A223" "A223" "A123"
การใช้ตัวแก้ไขการสะกดคำ(ในที่สุดก็เป็นตัวแบบเบย์เหมือนของ Peter Norvig)แต่ก็ไม่ได้มีประสิทธิภาพมากสำหรับการพูด
ฉันคิดเกี่ยวกับการใช้คำแนะนำของ Google แนะนำ แต่ก็ไม่ได้มีประสิทธิภาพมากสำหรับที่อยู่ไปรษณีย์ส่วนบุคคล
คุณสามารถจินตนาการโดยใช้วิธีการเรียนรู้แบบมีผู้สอนในเครื่อง แต่คุณจำเป็นต้องจัดเก็บคำขอที่ผู้ใช้สะกดผิดให้ทำเช่นนั้นซึ่งไม่ใช่ตัวเลือกสำหรับฉัน