Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Tuple ID Propagation (การแพร่กระจาย Tuple ID) คืออะไร?


ความหมายของ Tuple ID Propagation

Tuple ID propagation (การแพร่กระจาย Tuple ID) เป็นแนวทาง (approach) สำหรับการดำเนินการ virtual join (การเชื่อมต่อเสมือน) ซึ่งปรับปรุงประสิทธิภาพ (improves effectiveness) ของ multirelational classification (การจัดประเภทหลายความสัมพันธ์) อย่างมาก แทนที่จะ physically joining (เชื่อมต่อทางกายภาพ) relations พวกเขาถูก virtually combined (รวมแบบเสมือน) โดยการเชื่อมต่อ (linking) IDs ของ target tuples ไปยัง tuples ใน non-target relations (ความสัมพันธ์ที่ไม่ใช่เป้าหมาย)

ด้วยวิธีนี้ predicates (เงื่อนไข) สามารถคำนวณได้เหมือนว่า physical join ถูกดำเนินการ Tuple ID propagation เป็น flexible (ยืดหยุ่น) และ effective (มีประสิทธิภาพ) เพราะ IDs สามารถ propagated (แพร่กระจาย) ระหว่าง any two relations (ความสัมพันธ์สองอย่างใดๆ) ได้อย่างง่ายดาย ต้องการเพียง small amounts of data transfer (ปริมาณการถ่ายโอนข้อมูลน้อย) และ more storage space (พื้นที่จัดเก็บมากขึ้น) โดยการทำเช่นนั้น predicates ใน multiple relations สามารถคำนวณได้ด้วย small redundant computation (การคำนวณซ้ำที่น้อย)

ข้อจำกัดของ Tuple ID Propagation

Tuple ID propagation ต้องบังคับใช้ (enforced) กับ specific constraints (ข้อจำกัดเฉพาะ) มี two cases (สองกรณี) ที่การแพร่กระจายเช่นนี้อาจเป็น counterproductive (ผลลัพธ์ตรงข้าม/ไม่ประโยชน์):

  • propagation via large fan-outs (การแพร่กระจายผ่าน large fan-outs)

  • propagation via long, weak links (การแพร่กระจายผ่าน long, weak links)

กรณีแรกเกิดขึ้นเมื่อ หลังจากแพร่กระจาย IDs ไปยัง relation R พบว่า each tuple in R (ทุกทูเพิลใน R) ถูก joined (เชื่อมต่อ) กับ several target tuples (หลาย target tuples) และ each target tuple (แต่ละ target tuple) ถูก joined กับ several tuples in R (หลายทูเพิลใน R) Semantic connection (ความเชื่อมโยงเชิงความหมาย) ระหว่าง R และ target relation เป็น very weak (อ่อนมาก) เพราะ connection (การเชื่อมต่อ) เป็น unselective (ไม่เฉพาะเจาะจง)

ตัวอย่างเช่น propagation (การแพร่กระจาย) ระหว่าง people (ผู้คน) ผ่าน birth-country links (ลิงก์ประเทศเกิด) ไม่สามารถ productive (ให้ผลผลิต/มีประโยชน์) ได้ กรณีที่สองเกิดขึ้นเมื่อ propagation ไปทาง long connections (เช่น การเชื่อมต่อนักศึกษากับ pet ของ car dealer ของเขา ไม่สามารถ productive ได้) จากจุดมองของ efficiency (ประสิทธิภาพ) และ certainty (ความแน่นอน) propagation ผ่าน connections ดังกล่าวถูก discouraged (ไม่แนะนำ)

CrossMine และ Complex Predicates

CrossMine เป็น method (วิธี) ที่ต้องการ tuple ID propagation สำหรับ multirelational classification มัน better combine (รวมได้ดีกว่า) ข้อมูลของ ID propagation CrossMine ต้องการ complex predicates (เงื่อนไขซับซ้อน) เป็น component ของ rules (กฎ) Complex predicate p ประกอบด้วยสองส่วน:

  • prop-path – นิยามวิธีการแพร่กระจาย IDs ตัวอย่างเช่น path "Loan.account_ID → Account.account_ID" นิยามการแพร่กระจาย IDs จาก Loan ไป Account โดยใช้ account_ID หากไม่มี ID propagation อยู่ prop-path จะเป็น null

  • Constraint (ข้อจำกัด) – เป็น predicate ที่นิยาม constraint บน relation ที่ IDs ถูกแพร่กระจายไป สามารถเป็น categorical (เชิงหมวดหมู่) หรือ numerical (เชิงตัวเลข)

CrossMine สร้าง classifier (ตัวแยกประเภท) ที่ประกอบด้วย set of rules (ชุดกฎ) แต่ละกฎประกอบด้วย list of complex predicates และ class label CrossMine เป็น sequential covering algorithm (อัลกอริทึมครอบคลุมลำดับ) เช่น FOIL มันสร้าง rules ทีละอัน (one at a time) หลังจาก rule r ถูกสร้าง ทุก positive target tuples ที่ satisfy (ตรงตาม) r จะถูกลบ (deleted) ออกจาก data set

CrossMine เป็นประจำ (regularly) ค้นหา best complex predicate และเพิ่มมันเข้าไปใน current rule (กฎปัจจุบัน) จนกว่า stop criterion (เกณฑ์หยุด) จะถูก met (บรรลุ) Relation เป็น active (ทำงานอยู่) หากมันเกิดขึ้นใน current rule ก่อนค้นหา best predicate ถัดไป แต่ละ active relation ต้องมี IDset (เซต ID) ของ propagated IDs สำหรับแต่ละ tuples ของมัน