จะตัดสินการเชื่อมต่อที่น่าจะเป็นในเครือข่ายโซเชียลได้อย่างไร?


29

ฉันสงสัยในการกำหนดวิธีการจัดการอัลกอริทึม "เพื่อนที่แนะนำ"

Facebookมีคุณสมบัติที่จะแนะนำบุคคลที่คุณคิดว่าคุณอาจคุ้นเคย โดยปกติผู้ใช้เหล่านี้ (ยกเว้นกรณีขอบที่ผู้ใช้แนะนำโดยเฉพาะเพื่อน ) มีเครือข่ายที่คล้ายกันมากกับตัวเอง นั่นคือจำนวนเพื่อนที่เหมือนกันอยู่ในระดับสูง ฉันถือว่า Twitter เป็นไปตามเส้นทางที่คล้ายกันสำหรับกลไก "Who To Follow" ของพวกเขา

Stephen Doyle (Igy)พนักงาน Facebook แนะนำว่าฟีดข่าวที่เกี่ยวข้องที่ใช้สูตร EdgeRankซึ่งดูเหมือนว่าบ่งบอกว่ามีค่ามากกว่าเพื่อนเช่นรูปลักษณ์เป็นโพสต์ที่คล้ายกัน ผู้ใช้รายอื่นแนะนำระบบ Google Rank

Facebook ระบุว่าการเพิ่มประสิทธิภาพฟีดข่าวของพวกเขาเป็นโดยที่ΣยูอีWอีdอี

ยูอี = คะแนนความสัมพันธ์ระหว่างผู้ใช้ที่ดูและผู้สร้างขอบ = น้ำหนักสำหรับขอบนี้ (สร้าง, ความคิดเห็น, ชอบ, แท็ก, ฯลฯ ) = ปัจจัยการสลายตัวของเวลาขึ้นอยู่กับระยะเวลาที่สร้างขอบ
Wอี
dอี

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

ดังนั้นฉันเดาว่านี่เป็นวิธีการเชื่อมต่อสำหรับทุกประเภทที่ทำโดยทั่วไปผ่านระบบอันดับหรือไม่


ในฐานะที่เป็นจุดเริ่มต้นที่ง่ายคุณสามารถใช้ระบบคำแนะนำ "เพื่อนของเพื่อน" นั่นคือถ้าคุณมีเพื่อนมากมายที่เป็นเพื่อนของคน X ดังนั้นบางทีคุณควรเป็นเพื่อนกับคน X
Joe

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

คำตอบ:


7

คุณสามารถคิดว่ารูปแบบของกราฟสังคมเป็นเมทริกซ์{M} วิธีหนึ่งในการแก้ไขปัญหาคือการคำนวณก่อนซึ่งจะให้เส้นทางที่มีความยาวสองจุดระหว่างนักแสดงสองคนในเครือข่ายสังคม ซึ่งสามารถเห็นได้ว่าเป็นน้ำหนักของการเชื่อมต่อระหว่างเพื่อนของเพื่อนเหล่านี้ ขั้นตอนต่อไปคือการเลือกคอลัมน์จากแถวสอดคล้องกับบุคคลที่สนใจเพื่อให้ได้ผู้สมัครที่ดีที่สุดสำหรับเพื่อนใหม่MM2M2


1
นี่จะให้จำนวนเส้นทางระหว่างและ person pซึ่งสามารถใช้เพื่อจัดอันดับเพื่อน มันดิบฉันยอมรับ ผมพี
Dave Clarke

ฉันคิดว่าการทำแบบจำลองปัญหาด้วยกราฟนั้นง่ายขึ้นและง่ายขึ้น
MMS

11

สิ่งที่คุณกำลังมองหาคือการเรียนรู้แบบฮิวริสติก ไม่มีอัลกอริธึมที่สามารถพูดได้เนื่องจากกราฟของเพื่อนเป็นเพียงอินพุตไม่ว่าบุคคลสองคนที่ไม่ได้เชื่อมต่อโดยตรงจะเป็นเพื่อนหรือไม่ก็ตาม ความสัมพันธ์มิตรภาพ / ความใกล้ชิดไม่รับประกันว่าจะเป็นสกรรมกริยา (เราสามารถถือว่าสมมาตร แต่นั่นอาจจะยืดในชีวิตจริง) ฮิวริสติกที่ดีใด ๆ จะต้องอยู่บนพื้นฐานความเข้าใจว่าผู้คนมีปฏิสัมพันธ์อย่างไรมากกว่าความเข้าใจทางคณิตศาสตร์บางประการเกี่ยวกับธรรมชาติของกราฟของความสัมพันธ์

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

การแนะนำคนที่คุณมีการเชื่อมต่อแบบขยายจำนวนมากนั้นดูเหมือนจะเป็นทางเลือกที่ไม่ดีโดยทั่วไปเพราะสิ่งนี้มีแนวโน้มที่จะนำไปสู่การเติบโตแบบทวีคูณของเพื่อนของผู้คนที่ดึงไปข้างหน้าก่อน ตัวอย่างของสิ่งนี้)

R

  _____
 /     \
a---c   f
|   | /
b   d---e
| \ |
g   h   i

aบอกว่าเราต้องการที่จะหาเพื่อนใหม่สำหรับ aเพื่อนปัจจุบัน 's มีb, และc fเราจะประเมินความต้านทานเทียบเท่าสุทธิระหว่างaและแต่ละd, e, g, hและi:

pair   resistance
(a,d)   6/7
(a,e)  13/7
(a,g)   7/4
(a,h)   1/1
(a,i)   inf

ตามที่การแก้ปัญหานี้เป็นเพื่อนที่ดีที่สุดของผู้สมัครตามอย่างใกล้ชิดโดยd เป็นทางออกที่ดีที่สุดต่อไปตามอย่างใกล้ชิดโดย ไม่สามารถเป็นเพื่อนผู้สมัครได้ด้วยวิธีแก้ปัญหานี้ ไม่ว่าคุณจะพบผลลัพธ์ของการแก้ปัญหาด้วยวิธีนี้เพื่อเป็นตัวแทนของปฏิสัมพันธ์ทางสังคมที่แท้จริงของมนุษย์หรือไม่นั้นเป็นสิ่งที่สำคัญ การพูดโดยใช้คอมพิวเตอร์สิ่งนี้จะเกี่ยวข้องกับการค้นหากราฟย่อยที่มีเส้นทางทั้งหมดระหว่างบุคคลสองคน (หรืออาจน่าสนใจที่บางคนเลือกที่จะตัดทอนสิ่งนี้อย่างมีความหมาย) จากนั้นประเมินความต้านทานที่เท่าเทียมกันระหว่างแหล่งที่มาhgei

แก้ไข: ดังนั้นแรงจูงใจทางสังคมของฉันสำหรับสิ่งนี้คืออะไร? นี่อาจเป็นรูปแบบคร่าวๆของความยากลำบากในการติดต่อและหลังจากนั้นก็สื่อสารข้อมูลจำนวนมากผ่านตัวกลาง (เพื่อน) ในแง่ CS (แทนที่จะเป็นศัพท์ฟิสิกส์) สิ่งนี้อาจถูกตีความว่าเป็นแบนด์วิดท์ระหว่างสองโหนดในกราฟ การขยายระบบนี้จะเป็นการอนุญาตให้มีการเชื่อมโยงที่แตกต่างกันระหว่างผู้ที่มีน้ำหนักต่างกัน (ความต้านทาน, แบนด์วิดท์, ฯลฯ ) และดำเนินการตามข้างต้น


10

มีงานจำนวนมากที่ทำกับปัญหานี้เนื่องจากความนิยมของเครือข่ายสังคมออนไลน์ได้ถูกนำออกไป ปัญหาที่เกิดขึ้นมักจะเรียกว่า "การเชื่อมโยงการทำนาย" และการสำรวจที่ดีมากและครบวงจรที่สามารถพบได้ที่นี่และที่นี่ วิธีการมีตั้งแต่ง่ายมาก (เช่นความคล้ายคลึงกันของ Jaccard ระหว่างโหนด) ถึงความซับซ้อนมาก (เช่นการสร้างแบบจำลองทางสถิติของกระบวนการเชื่อมต่อกำเนิด) ขึ้นอยู่กับคุณสมบัติเฉพาะที่คุณมีอยู่ในชุดข้อมูลของคุณ (เช่นโครงสร้างเครือข่าย, แอตทริบิวต์ของโหนด, คุณลักษณะของขอบ, ... ) แต่การสำรวจเหล่านี้จะทำให้คุณมีความคิดที่ดีว่าจะเริ่มจากที่ใด


4

ข้อจำกัดความรับผิดชอบ: ฉันคาดเดาอย่างรุนแรงที่นี่; ฉันยังไม่ได้อ่านงานวิจัยประเภทใด

คุณสามารถดูจำนวนการเชื่อมต่อกับโหนดที่ใช้ร่วมกันกับจำนวนการเชื่อมต่อที่โหนดมี นี่เป็นความคิดที่ไร้เดียงสา แต่เป็นไปได้

ยังไม่มีข้อความCยังไม่มีข้อความยังไม่มีข้อความ1ยังไม่มีข้อความ2ยังไม่มีข้อความ2ยังไม่มีข้อความ1

|Cยังไม่มีข้อความ1Cยังไม่มีข้อความ2||Cยังไม่มีข้อความ1|α

α[0,1]

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

Sยังไม่มีข้อความ={M:|Cยังไม่มีข้อความCM|ยังไม่มีข้อความα}

และชุดคำแนะนำที่เป็นไปได้โดย

{S:ΣMSยังไม่มีข้อความ[SM]|Sยังไม่มีข้อความ|β}

α,β[0,1]

Sยังไม่มีข้อความ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.