วิธีการทํางานของการจับคู่ fuzzy ใน Power Query
ฟีเจอร์ของ Power Query เช่น การผสานแบบไม่ลับ ค่าคลัสเตอร์ และการจัดกลุ่มแบบไม่ลับใช้กลไกเดียวกันในการทํางานเป็นการจับคู่แบบไม่พร่ามวก
บทความนี้ไปผ่านหลายสถานการณ์ที่แสดงวิธีการใช้ประโยชน์จากตัวเลือกที่การจับคู่ไม่ชัดเจนมีเป้าหมายในการทํา 'fuzzy' ชัดเจน
สถานการณ์ที่ดีที่สุดสําหรับการใช้อัลกอริทึมการจับคู่แบบไม่น่าเบื่อคือเมื่อสตริงข้อความทั้งหมดในคอลัมน์มีเฉพาะสตริงที่จําเป็นต้องเปรียบเทียบและไม่มีส่วนประกอบเพิ่มเติม ตัวอย่างเช่น เมื่อApples
เปรียบเทียบกับ4ppl3s
อัตราผลตอบแทนคะแนนความคล้ายคลึงกันสูงกว่าการApples
เปรียบเทียบกับMy favorite fruit, by far, is Apples. I simply love them!
เนื่องจากคํา Apples
ในสตริงที่สองเป็นเพียงส่วนเล็ก ๆ ของสตริงข้อความทั้งหมด การเปรียบเทียบดังกล่าวจึงให้คะแนนความคล้ายคลึงกันที่ต่ํากว่า
ตัวอย่างเช่น ชุดข้อมูลต่อไปนี้ประกอบด้วยการตอบกลับจากแบบสํารวจที่มีเพียงคําถามเดียวเท่านั้น—"ผลไม้ที่คุณชื่นชอบคืออะไร"
ผลไม้ |
---|
บลูเบอร์รี่ |
ผลเบอร์รี่สีน้ําเงินนั้นดีที่สุด |
สตรอเบอร์รี่ |
สตรอเบอรี่ = <3 |
แอปเปิ้ล |
'sples |
4ppl3s |
กล้วย |
ผลไม้ fav เป็นกล้วย |
บานาส |
ผลไม้ที่ฉันชอบไปไกลที่สุดคือแอปเปิ้ล ฉันรักพวกเขาเพียง! |
แบบสํารวจได้ให้กล่องข้อความเดียวเพื่อป้อนค่าและไม่มีการตรวจสอบความถูกต้อง
ในตอนนี้ คุณได้รับมอบหมายให้ทําการคลัสเตอร์ค่า เมื่อต้องการทํางานดังกล่าว ให้โหลดตารางผลไม้ก่อนหน้าลงใน Power Query เลือกคอลัมน์ จากนั้น เลือกตัวเลือกค่า คลัสเตอร์ใน แท็บเพิ่มคอลัมน์ ในริบบอน
กล่องโต้ตอบค่าคลัสเตอร์จะปรากฏขึ้น ซึ่งคุณสามารถระบุชื่อของคอลัมน์ใหม่ได้ ตั้งชื่อคอลัมน์ใหม่ว่า Cluster และเลือกตกลง
ตามค่าเริ่มต้น Power Query จะใช้ค่าเกณฑ์ความคล้ายคลึงกันของ 0.8 (หรือ 80%) ค่าต่ําสุด 0.00 ทําให้ค่าทั้งหมดมีความคล้ายคลึงกันในระดับใด ๆ และค่าสูงสุด 1.00 จะอนุญาตการจับคู่ที่แน่นอนเท่านั้น "การจับคู่แบบไม่ชัดเจน" อาจเพิกเฉยต่อความแตกต่าง เช่น การกําหนดลําดับคํา และเครื่องหมายวรรคตอน ผลลัพธ์ของการดําเนินการก่อนหน้านี้ให้ผลลัพธ์ตารางต่อไปนี้กับคอลัมน์คลัสเตอร์ใหม่
ในขณะที่ทําการคลัสเตอร์เสร็จสิ้น ระบบจะไม่ให้ผลลัพธ์ที่คาดหวังสําหรับแถวทั้งหมด หมายเลขแถวสอง (2) ยังคงมีค่า Blue berries are simply the best
แต่ควรมีการคลัสเตอร์ไปยัง Blueberries
และสิ่งที่คล้ายกับสตริงStrawberries = <3
ข้อความ , fav fruit is bananas
และMy favorite fruit, by far, is Apples. I simply love them!
เมื่อต้องการกําหนดสิ่งที่ทําให้เกิดการคลัสเตอร์นี้ ให้ดับเบิลคลิกที่ค่ากลุ่มในแผงขั้นตอนที่ใช้เพื่อนํากล่องโต้ตอบค่าคลัสเตอร์กลับมา ภายในกล่องโต้ตอบนี้ ขยาย ตัวเลือกคลัสเตอร์ Fuzzy เปิดใช้งานตัวเลือก แสดงคะแนนความคล้ายคลึงกัน จากนั้นเลือก ตกลง
การเปิดใช้งาน ตัวเลือกแสดงคะแนน ความคล้ายคลึงกันจะสร้างคอลัมน์ใหม่ในตารางของคุณ คอลัมน์นี้แสดงคะแนนความคล้ายคลึงกันที่แน่นอนระหว่างคลัสเตอร์ที่กําหนดไว้และค่าเดิม
เมื่อตรวจสอบอย่างใกล้ชิด Power Query จะไม่สามารถค้นหาค่าอื่น ๆ ในค่าเกณฑ์ความคล้ายคลึงกันสําหรับสตริง Blue berries are simply the best
ข้อความ ,Strawberries = <3
, fav fruit is bananas
และ My favorite fruit, by far, is Apples. I simply love them!
ได้
ย้อนกลับไปยัง กล่องโต้ตอบค่า คลัสเตอร์อีกครั้งโดยดับเบิลคลิก ที่ค่า กลุ่มใน แผงขั้นตอนที่ ใช้ เปลี่ยนค่าเกณฑ์ความคล้ายคลึงกันจาก 0.8 เป็น 0.6 จากนั้นเลือกตกลง
การเปลี่ยนแปลงนี้จะทําให้คุณเข้าใกล้ผลลัพธ์ที่คุณกําลังค้นหา มากขึ้น ยกเว้นสตริง My favorite fruit, by far, is Apples. I simply love them!
ข้อความ เมื่อคุณเปลี่ยน ค่าเกณฑ์ ความคล้ายคลึงกันจาก 0.8 เป็น 0.6 ตอนนี้ Power Query สามารถใช้ค่าที่มีคะแนนความคล้ายคลึงกันที่เริ่มต้นจาก 0.6 จนถึง 1
หมายเหตุ
Power Query จะใช้ค่าที่ใกล้เคียงกับค่าเกณฑ์มากที่สุดเพื่อกําหนดคลัสเตอร์เสมอ ค่าเกณฑ์จะกําหนดขีดจํากัดล่างของคะแนนความคล้ายคลึงกันที่สามารถยอมรับได้เพื่อกําหนดค่าให้กับคลัสเตอร์
คุณสามารถลองอีกครั้งโดยการเปลี่ยน คะแนน ความคล้ายคลึงกันจาก 0.6 เป็นตัวเลขที่ต่ํากว่าจนกว่าคุณจะได้ผลลัพธ์ที่คุณกําลังค้นหา ในกรณีนี้ ให้เปลี่ยนคะแนนความคล้ายคลึงกันเป็น 0.5 การเปลี่ยนแปลงนี้จะให้ผลลัพธ์ที่แน่นอนที่คุณคาดหวังกับสตริงMy favorite fruit, by far, is Apples. I simply love them!
ข้อความที่กําหนดไว้ในคลัสเตอร์Apples
หมายเหตุ
ในปัจจุบัน เฉพาะ คุณลักษณะค่า คลัสเตอร์ใน Power Query Online เท่านั้นที่มีคอลัมน์ใหม่ที่มีคะแนนความคล้ายคลึงกัน
ตารางการแปลงช่วยให้คุณแมปค่าจากคอลัมน์ของคุณไปยังค่าใหม่ก่อนที่จะดําเนินการอัลกอริทึมการจับคู่แบบไม่เหมาะสม
ตัวอย่างของวิธีการใช้ตารางการแปลง:
ข้อสำคัญ
เมื่อใช้ตารางการแปลง คะแนนความคล้ายคลึงกันสูงสุดสําหรับค่าจากตารางการแปลงคือ 0.95 การลงโทษโดยเจตนาของ 0.05 นี้จะทําให้ทราบว่าค่าเดิมจากคอลัมน์ดังกล่าวไม่เท่ากับค่าที่ถูกเปรียบเทียบกับเนื่องจากมีการเปลี่ยนแปลงเกิดขึ้น
สําหรับสถานการณ์ที่คุณต้องการแมปค่าของคุณก่อน จากนั้นดําเนินการจับคู่แบบไม่น่าสงสัยโดยไม่มีโทษ 0.05 เราขอแนะนําให้คุณแทนที่ค่าจากคอลัมน์ของคุณ จากนั้นทําการจับคู่ที่ไม่น่าสงสัย