อ่านในภาษาอังกฤษ

แชร์ผ่าน


วิธีการทํางานของการจับคู่ 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 เลือกคอลัมน์ จากนั้น เลือกตัวเลือกค่า คลัสเตอร์ใน แท็บเพิ่มคอลัมน์ ในริบบอน

สกรีนช็อตพร้อมตัวเลือกค่าคลัสเตอร์ภายในแท็บเพิ่มคอลัมน์ในริบบอนที่พร้อมใช้งานหลังจากเลือกคอลัมน์ Fruit จากตาราง

กล่องโต้ตอบค่าคลัสเตอร์จะปรากฏขึ้น ซึ่งคุณสามารถระบุชื่อของคอลัมน์ใหม่ได้ ตั้งชื่อคอลัมน์ใหม่ว่า Cluster และเลือกตกลง

สกรีนช็อตของกล่องโต้ตอบค่าคลัสเตอร์หลังจากเลือกคอลัมน์ Fruit เขตข้อมูลชื่อคอลัมน์ใหม่ถูกตั้งค่าเป็นคลัสเตอร์

ตามค่าเริ่มต้น Power Query จะใช้ค่าเกณฑ์ความคล้ายคลึงกันของ 0.8 (หรือ 80%) ค่าต่ําสุด 0.00 ทําให้ค่าทั้งหมดมีความคล้ายคลึงกันในระดับใด ๆ และค่าสูงสุด 1.00 จะอนุญาตการจับคู่ที่แน่นอนเท่านั้น "การจับคู่แบบไม่ชัดเจน" อาจเพิกเฉยต่อความแตกต่าง เช่น การกําหนดลําดับคํา และเครื่องหมายวรรคตอน ผลลัพธ์ของการดําเนินการก่อนหน้านี้ให้ผลลัพธ์ตารางต่อไปนี้กับคอลัมน์คลัสเตอร์ใหม่

สกรีนช็อตของผลลัพธ์เริ่มต้นด้วยคอลัมน์คลัสเตอร์ใหม่หลังจากดําเนินการค่าคลัสเตอร์บนคอลัมน์ Fruit ด้วยค่าเริ่มต้น

ในขณะที่ทําการคลัสเตอร์เสร็จสิ้น ระบบจะไม่ให้ผลลัพธ์ที่คาดหวังสําหรับแถวทั้งหมด หมายเลขแถวสอง (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 เปิดใช้งานตัวเลือก แสดงคะแนนความคล้ายคลึงกัน จากนั้นเลือก ตกลง

สกรีนช็อตของหน้าต่างค่าคลัสเตอร์พร้อมตัวเลือกคลัสเตอร์ fuzzy ที่แสดงและเลือกตัวเลือกแสดงคะแนนความคล้ายคลึงกันที่เลือก

การเปิดใช้งาน ตัวเลือกแสดงคะแนน ความคล้ายคลึงกันจะสร้างคอลัมน์ใหม่ในตารางของคุณ คอลัมน์นี้แสดงคะแนนความคล้ายคลึงกันที่แน่นอนระหว่างคลัสเตอร์ที่กําหนดไว้และค่าเดิม

สกรีนช็อตของตารางที่มีคอลัมน์คะแนนความคล้ายคลึงกันใหม่ที่ชื่อ Fruit_Cluster_Similarity

เมื่อตรวจสอบอย่างใกล้ชิด 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 จากนั้นเลือกตกลง

สกรีนช็อตของกล่องโต้ตอบค่าคลัสเตอร์พร้อมตัวเลือกคลัสเตอร์ไม่ชัดเจนที่แสดงและค่าเกณฑ์ความคล้ายคลึงกันที่ตั้งค่าที่ 0.6

การเปลี่ยนแปลงนี้จะทําให้คุณเข้าใกล้ผลลัพธ์ที่คุณกําลังค้นหา มากขึ้น ยกเว้นสตริง My favorite fruit, by far, is Apples. I simply love them!ข้อความ เมื่อคุณเปลี่ยน ค่าเกณฑ์ ความคล้ายคลึงกันจาก 0.8 เป็น 0.6 ตอนนี้ Power Query สามารถใช้ค่าที่มีคะแนนความคล้ายคลึงกันที่เริ่มต้นจาก 0.6 จนถึง 1

สกรีนช็อตของตารางหลังจากกําหนดค่าเกณฑ์ความคล้ายคลึงกันที่ 0.6 ด้วยค่าใหม่ที่กําหนดไว้ในคอลัมน์คลัสเตอร์

หมายเหตุ

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 เราขอแนะนําให้คุณแทนที่ค่าจากคอลัมน์ของคุณ จากนั้นทําการจับคู่ที่ไม่น่าสงสัย