สุดยอดการขจัดข้อมูลซ้ำซ้อน


13

วิธีการขจัดข้อมูลซ้ำซ้อนในบันทึกมีอะไรบ้าง? การคัดลอกซ้ำบางครั้งเรียกอีกอย่างว่า: การเชื่อมโยงเรคคอร์ด, การแก้ไขเอนทิตี, การแก้ไขเอกลักษณ์, ผสาน / ล้าง ฉันรู้ตัวอย่างเกี่ยวกับ CBLOCK [1]

ฉันจะขอบคุณถ้าคำตอบรวมถึงการอ้างอิงถึงซอฟต์แวร์ที่มีอยู่ในการใช้วิธีการ ฉันรู้ว่าตัวอย่างที่ดำเนินการควาญช้างหลังคา-การจัดกลุ่ม นอกจากนี้ยังมีDukeที่ใช้ Lucene

มีระบบการค้าซ้ำซ้อนมากมาย มันจะมีค่าที่จะรู้ว่าพวกเขาทำงานอย่างไรและมีประสิทธิภาพเพียงใด

ฉันสนใจทั้งสองอย่างในการขจัดข้อมูลซ้ำซ้อนภายในชุดข้อมูลเดียวและเชื่อมโยงระหว่างชุดข้อมูลหลายชุดที่มาจากแหล่งข้อมูลที่แตกต่างกัน ประสิทธิภาพและความสามารถในการประมวลผลข้อมูลจำนวนมากก็มีความสำคัญเช่นกัน

[1] CBLOCK: กลไกการบล็อกอัตโนมัติสำหรับงานซ้ำซ้อนขนาดใหญ่


โซลูชันเชิงพาณิชย์ที่อาจเป็นที่สนใจ จุดขายหนึ่งคือเวลาและโดยทั่วไปแล้วจะได้ผลลัพธ์ที่เหนือกว่าคู่แข่งทางการค้าอื่น ๆ novetta.com/products/entity-analyticsO(n)
Sycorax พูดว่า Reinstate Monica

คำตอบ:


5

Tamr (Data Tamer ก่อนหน้านี้) ทำการขจัดข้อมูลซ้ำซ้อนในฐานข้อมูล ไร้เดียงสาเบย์และการจัดกลุ่มกราฟเกี่ยวข้อง

ฉันเชื่อว่าอัลกอริทึมส่วนใหญ่จะใช้งานใน SQL ซึ่งค่อนข้างแปลก แต่ผู้เขียนหลักของ whitepaper ของพวกเขาคือ Michael Stonebraker ซึ่งช่วยนำไปสู่การสร้าง PostgreSQL

ตรวจสอบเอกสารไวท์เปเปอร์ที่นี่

แก้ไข: ฉันได้สรุปขั้นตอนที่กระดาษใช้ด้านล่าง คำพูดของฉันบางคำเกือบจะเหมือนกับในกระดาษ

ระบบการขจัดข้อมูลซ้ำซ้อนของ Tamr มีสองขั้นตอนหลักในการจัดการกับแหล่งข้อมูลใหม่: (1) การระบุแอตทริบิวต์และ (2) การรวมเอนทิตี สิ่งเหล่านี้เทียบเท่ากับการลดความซ้ำซ้อนของคอลัมน์และการลดความซ้ำซ้อนของแถว

1) การเปรียบเทียบแหล่งข้อมูลใหม่กับแหล่งข้อมูลที่มีอยู่ขั้นตอนแรกคือการระบุแอตทริบิวต์

แอ็ตทริบิวต์ (คอลัมน์) ของแหล่งที่มาใหม่จะถูกแมปกับแอตทริบิวต์ของแหล่งที่มีอยู่ด้วยอัลกอริทึมสี่:

  • เปรียบเทียบชื่อแอ็ตทริบิวต์ด้วยการเปรียบเทียบสตริงฟัซซี
  • พิจารณาทั้งคอลัมน์เป็นเอกสารโทเค็นวัดความถี่ทั้งหมด / ความถี่เอกสารผกผัน (TF-IDF) ความเหมือนโคไซน์ที่คล้ายคลึงกันระหว่างคอลัมน์นั้นกับคอลัมน์อื่น ๆ
  • ความยาวเชิงอธิบายขั้นต่ำ: เปรียบเทียบสองคอลัมน์ตามขนาดของการแยกและการรวมกับการจับคู่ที่ตรงกัน
  • สำหรับคอลัมน์ที่เป็นตัวเลขให้ทำ t-test ระหว่างคอลัมน์ใหม่และคอลัมน์ตัวเลขที่มีอยู่เพื่อดูว่าคอลัมน์นั้นมาจากการแจกแจงแบบเดียวกันหรือไม่

2) การรวมเอนทิตี (การคัดลอกแถว)

เมื่อดำเนินการการระบุคุณสมบัติแล้วเราต้องการขจัดข้อมูลซ้ำซ้อนในแถว (บันทึก)

การจัดหมวดหมู่ด้วยการทำคลัสเตอร์

ระเบียนจะถูกจัดกลุ่มเป็นหมวดหมู่ตามความคล้ายคลึงกันก่อนจากนั้นจึงเรียนรู้กฎการคัดลอกซ้ำในระดับหมวดหมู่ ตัวอย่างที่พวกเขาจัดให้มีการจัดหมวดหมู่สำหรับฐานข้อมูลของสกีรีสอร์ตที่สกีรีสอร์ตตะวันตกควรเป็นหมวดหมู่ที่แตกต่างจากสกีรีสอร์ตตะวันออก การจัดหมวดหมู่จะทำด้วยอัลกอริทึมการจัดกลุ่มด้วย k- หมายถึงให้เป็นตัวอย่าง

คัดลอกซ้ำกับ Bayes ไร้เดียงสา

เมื่อมีการระบุคุณลักษณะและบันทึกได้รับการจัดกลุ่มเป็นหมวดหมู่เราเรียนรู้กฎการขจัดข้อมูลซ้ำซ้อนสำหรับแต่ละหมวดหมู่ตามชุดการฝึกอบรมของการเรียนรู้แบบสองทางและแบบที่ไม่ใช่แบบซ้ำ

กฎการขจัดข้อมูลซ้ำซ้อนมีสองประเภท:

  1. เกณฑ์สำหรับความคล้ายคลึงกันของแอตทริบิวต์ที่เกี่ยวข้องกับฟังก์ชันระยะทางที่สมเหตุสมผลสำหรับแอตทริบิวต์ (กระดาษไม่ชัดเจนเกี่ยวกับวิธีการเรียนรู้เกณฑ์เหล่านี้)
  2. การแจกแจงความน่าจะเป็นสำหรับ dupe และ non-dupesในแต่ละแอ็ตทริบิวต์ เช่นP("Title" values similar | duplicate) ~ 1และ Pr("State" values are different | duplicate) ~ 0

สำหรับเร็กคอร์ดแต่ละคู่เราคำนวณความคล้ายคลึงกันของแต่ละแอตทริบิวต์ของพวกเขาด้วยการวัดระยะทางที่เหมาะสม หากแอ็ตทริบิวต์ใด ๆ มีความคล้ายคลึงกันเหนือขีด จำกัด คู่ของเร็กคอร์ดจะถูกป้อนผ่านตัวจําแนก Naive Bayes เพื่อจัดประเภทเป็นแบบ dupe หรือ non-dupe

สมมติฐานของฉันคือว่าสำหรับบันทึกX1 = (a1,b1,c1,d1), X2 = (a2,b2,c2,d2)พวกเขาคำนวณเวกเตอร์คล้ายคลึงกันS = (s_a, s_b, s_c, s_d)ที่s_iคล้ายคลึงกันสำหรับแอตทริบิวต์ WRT กับตัวชี้วัดระยะทางที่ถูกต้อง

ฉันถือว่าตัวจําแนก Naive Bayes ของพวกเขามีโครงสร้างนี้:

P(dupe|S) = P(dupe)P(s_a|dupe)(s_b|dupe)(s_c|dupe)P(s_d|dupe) / P(S)

การแก้ไขเอนทิตีด้วยการจัดกลุ่มกราฟ

หลังจากขั้นตอนการจัดหมวดหมู่เรามีชุดย่อยของบันทึกจากหมวดหมู่ที่กำหนดซึ่งเชื่อว่าเป็นรายการซ้ำแบบคู่ เหล่านี้ตอนนี้จำเป็นต้องได้รับการแก้ไขลงไปในหน่วยงานที่แตกต่างกัน สิ่งนี้จะช่วยแก้ปัญหาความสลับซับซ้อน: หากบันทึก t1 เป็นค่าที่สองของ t2 และ t2 เป็นค่าที่สองของ t3 ดังนั้น t1 จะต้องเป็นค่าของ t3 ด้วย นี้คือการพูด T1, T2 และ T3 แทนนิติบุคคลเดียวกัน

โครงสร้างกราฟจะใช้สำหรับขั้นตอนนี้ ภายในหมวดหมู่แต่ละระเบียนที่อาจเป็น dupe นั้นเป็นโหนด โหนดที่สงสัยว่าเป็นแบบคู่กันจะมีขอบอยู่ระหว่างกัน กลุ่มจะถูกค้นพบในกราฟและจากนั้นรวมเข้าด้วยกันตามเกณฑ์ที่เกี่ยวข้องกับวิธีการเชื่อมต่ออย่างมากคลัสเตอร์หนึ่งไปยังอีก ต่อไปนี้เป็นตัวอย่างของคู่คลัสเตอร์ที่อาจรวมหรือไม่รวมเข้าด้วยกันตามการเชื่อมต่อ:

  c1        c2    

x-x-x-----y-y-y
|\|/|     |\|/|
x-x-x-----y-y-y  Meets similiarity threshold
|/|\|     |/|\|
x-x-x-----y-y-y    

x-x-x     y-y-y
|\|/|     |\|/|
x-x-x-----y-y-y  Does not meet similarity threshold
|/|\|     |/|\|
x-x-x     y-y-y    

    x     y
    |     |
    x-----y      Meets similarity threshold
    |     |
    x     y

เมื่อขั้นตอนวิธีการยุติแต่ละคลัสเตอร์ควรเป็นตัวแทนของนิติบุคคลที่แตกต่างกันภายในหมวดหมู่ เพื่อเสร็จสิ้นกระบวนการที่คุณลักษณะของกิจการนี้จะต้องได้รับการพิจารณาจากคุณลักษณะของระเบียนที่อยู่ภายใน Nulls จะถูกยกเลิกก่อนจากนั้นจึงใช้วิธีการต่างๆรวมถึงความถี่, ค่าเฉลี่ย, ค่ามัธยฐานและค่ายาวที่สุด

บทความยังได้พัฒนาวิธีการบางอย่างสำหรับการใช้ผู้เชี่ยวชาญโดเมนเพื่อช่วยเมื่ออัลกอริทึมไม่แน่ใจและวิธีการใช้ผู้เชี่ยวชาญหลายคนที่มีระดับความเชี่ยวชาญแตกต่างกัน


ลิงก์การทำงานสำหรับ whitepaper: cs.uwaterloo.ca/~ilyas/papers/StonebrakerCIDR2013.pdf
fjsj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.