Javascript ไม่ชัดเจนการค้นหาที่เหมาะสม
ฉันกำลังมองหาไลบรารี JavaScript การค้นหาที่คลุมเครือเพื่อกรองอาร์เรย์ ฉันได้ลองใช้fuzzyset.jsและfuse.jsแล้ว แต่ผลลัพธ์แย่มาก (มีการสาธิตที่คุณสามารถลองได้ในหน้าที่เชื่อมโยง) หลังจากอ่านข้อมูลเกี่ยวกับระยะทาง Levenshtein แล้วมันทำให้ฉันรู้สึกแย่เพราะประมาณว่าผู้ใช้กำลังมองหาอะไรเมื่อพวกเขาพิมพ์ สำหรับผู้ที่ไม่ทราบว่าระบบจะคำนวณว่าหลายแทรก , ลบและแทนมีความจำเป็นที่จะทำให้สองสายตรง ข้อบกพร่องที่เห็นได้ชัดอย่างหนึ่งซึ่งได้รับการแก้ไขในแบบจำลอง Levenshtein-Demerau คือทั้งblubและboobถือว่าใกล้เคียงกับbulb (แต่ละอันต้องใช้การทดแทนสองครั้ง) มันเป็นที่ชัดเจน แต่ที่หลอดไฟมีมากขึ้นคล้ายกับร้องไห้สะอึกสะอื้นกว่าคนโง่และเป็นรูปแบบที่ผมกล่าวถึงเพียงตระหนักดีว่าโดยให้transpositions ฉันต้องการใช้สิ่งนี้ในบริบทของการเติมข้อความดังนั้นหากฉันมีอาร์เรย์['international', 'splint', 'tinder']และข้อความค้นหาของฉันเป็นintฉันคิดว่านานาชาติควรมีอันดับสูงกว่าเฝือกแม้ว่าในอดีตจะมีคะแนน (สูงกว่า = แย่กว่า) ถึง 10 เทียบกับของหลัง 3. สิ่งที่ฉันกำลังมองหา (และจะสร้างขึ้นหากไม่มี) คือไลบรารีที่ทำสิ่งต่อไปนี้: ให้น้ำหนักการปรับแต่งข้อความต่างๆ การชั่งน้ำหนักแต่ละการจัดการจะแตกต่างกันไปขึ้นอยู่กับตำแหน่งที่ปรากฏในคำหนึ่ง (การปรับเปลี่ยนในช่วงแรกมีค่าใช้จ่ายสูงกว่าการจัดการในช่วงปลาย) ส่งคืนรายการผลลัพธ์ที่เรียงตามความเกี่ยวข้อง มีใครเจออะไรแบบนี้บ้าง? ฉันตระหนักดีว่า StackOverflow ไม่ใช่สถานที่ที่จะขอคำแนะนำซอฟต์แวร์ แต่โดยนัย (ไม่ใช่อีกต่อไป!) ในด้านบนคือ: ฉันคิดเกี่ยวกับวิธีนี้ถูกต้องหรือไม่? แก้ไข ฉันพบกระดาษดีๆ (pdf)ในหัวข้อนี้ หมายเหตุและข้อความที่ตัดตอนมาบางส่วน: ฟังก์ชั่นการแก้ไขระยะห่างจะกำหนดต้นทุนที่ค่อนข้างต่ำให้กับลำดับการแทรกหรือการลบ ฟังก์ชันระยะทาง Monger-Elkan …