社交网络中不当内容的检测
如何提取发布此内容的用户的信息
此示例是针对我撰写的一篇博客文章关于社交网络之间关系的实现。

在博客示例中,为了提取信息,我使用了YouTube、Twitter和Souncloud API的API,并使用了API REST方法。在本例中,我准备了数据集。我们可以关联不同的社交网络来提取账户信息。首先,Twitter是一个持续的帖子流,我们可以提取关于推文的不同元素(话题标签、提及、URL)。URL是将一个社交网络链接到另一个社交网络的元素,这为我们提供了巨大的潜力。
示例数据集
实体
-
具有属性screen_name、text、timepstamp和country的**推文**。
-
具有属性url的**URL**。
-
具有属性title、channelid、tags、ytAgeRestricted和update的**YouTube视频**。
-
具有属性title、description和upload的**曲目**。
-
具有属性screen_name、description、googleplusid、relatedvideos和channelcreate的**频道**。
-
具有属性displayName、aboutMe、image、location和gender的**Google用户**。
//Nodes.
CREATE (Tweet1:TWITTER {screen_name: "Alberto", text: "Metallica with Jason Newsted Creeping death LIVE San Francisco, USA 2011... https://#/RuI72pyx2v via @YouTube" , timepstamp :"1450687966" , country :"ES" })
CREATE (Tweet2:TWITTER {screen_name:"Pedro", text: " RT Metallica with Jason Newsted Creeping death LIVE San Francisco, USA 2011... https://#/RuI72pyx2v via @YouTube" , timepstamp :"1450612800" , country :"ES" })
CREATE (Tweet3:TWITTER {screen_name:"Eva", text: "RT Metallica with Jason Newsted Creeping death LIVE San Francisco, USA 2011... https://#/RuI72pyx2v via @YouTube" , timepstamp :"1450609980" , country :"ES" })
CREATE (Tweet4:TWITTER {screen_name: "BadGuy", text: "LIVE Figth in school, https://#/ZcQ72pyx2v", timepstamp :"1450687966" , country :"ES" })
CREATE (Tweet5:TWITTER {screen_name:"Mariano" , text:"Metallica https://#/RuI72pyx2v via @Soundcloud", timepstamp :"1450612800" , country :"ES" })
CREATE (Tweet6:TWITTER {screen_name:"Miguel",text:"BBC NEWS https://#/RuI72pyx2v" , timepstamp :"1450609980" , country :"ES" })
CREATE (URL1:URL:SOCIALNETWORK {url: "https://youtu.be/ASZXbb3a24t" })
CREATE (URL2:URL:SOCIALNETWORK {url:"https://youtu.be/CURLzg0ia5w" })
CREATE (URL3:URL:SOCIALNETWORK {url:"https://soundcloud.com/hassan-awaly/8ik0r4axk78m" })
CREATE (URL4:URL {url:"https://bbc.in/1MZFNWu"})
CREATE (YouTubeVideo1:YOUTUBE {title: "Metallica",channelid: "456456456", tags: "music", ytAgeRestricted: "false", update :"1450685966" })
CREATE (YouTubeVideo2:YOUTUBE {title:"School fight", channelid: "123123123", tags: "violence", ytAgeRestricted: "true", update :"1450614800" })
CREATE (Track1:SOUNDCLOUD {title:"Queen - we are rock you", description: "The best song ever" , upload :"1450604980" })
CREATE (Channel1:CHANNELYOUTUBE {screen_name: "Alberto", description:"I'm the best", googleplusid:"123321", relatedvideos:"Trailers 2016" , channelcreate :"1450604123" })
CREATE (Channel2:CHANNELYOUTUBE {screen_name:"BadGuy", description:"I'm a bad guy", googleplusid:"678876", relatedvideos:"Why not?" , channelcreate :"1450234123" })
CREATE (Googleuser1:GOOGLEPLUS {displayName:"BadGuy", aboutMe:"I'm 24 years old, (personal information)", image: "https://lh3.googleusercontent.com/ry5g21lx8j8/photo.jpg", location: "Spain", gender: "male" })
CREATE (Googleuser2:GOOGLEPLUS {displayName:"Geroma", aboutMe:"Not all, (personal information)", image: "https://lh3.googleusercontent.com/asfdi23594/photo2.jpg", location: "USA", gender: "female" })
// Relations.
//TWITTER - URLS
CREATE (Tweet1)-[:PUBLISHED {time:'4/17/2014'}]->(URL1)
CREATE (Tweet2)-[:PUBLISHED {time:'5/15/2014'}]->(URL1)
CREATE (Tweet3)-[:PUBLISHED {time:'3/28/2014'}]->(URL1)
CREATE (Tweet4)-[:PUBLISHED {time:'3/20/2014'}]->(URL2)
CREATE (Tweet5)-[:PUBLISHED {time:'7/24/2014'}]->(URL3)
CREATE (Tweet6)-[:PUBLISHED {time:'7/24/2014'}]->(URL4)
// URL - SOCIAL NETWORK
CREATE (URL1)-[:RELATED]->(YouTubeVideo1)
CREATE (URL2)-[:RELATED]->(YouTubeVideo2)
CREATE (URL3)-[:RELATED]->(Track1)
// YOUTUBEVIDEO - YOUTUBECHANNEL
CREATE (YouTubeVideo1)-[:AUTHOR]->(Channel1)
CREATE (YouTubeVideo2)-[:AUTHOR]->(Channel2)
// YOUTUBECHANNEL - GOOGLE+
CREATE (Channel2)-[:LINK]->(Googleuser1)
CREATE (Channel1)-[:LINK]->(Googleuser2)
识别链接社交网络的URL
这些URL链接到社交网络或其他平台,我们只对社交网络感兴趣。
MATCH (n1:URL:SOCIALNETWORK)<-[:PUBLISHED]-(n2:TWITTER)
RETURN n2.text
识别社交网络YouTube
为了提取尽可能多的信息,我们希望URL指向YouTube。
MATCH (n1:URL:SOCIALNETWORK)<-[:PUBLISHED]-(n2:TWITTER)
WITH n1 AS URL
MATCH (n3:YOUTUBE)<-[:RELATED]-(URL)
RETURN distinct n3
识别YouTube上的不当视频
根据年龄限制进行过滤,这些视频在某种程度上很重要。
MATCH (n1:URL:SOCIALNETWORK)<-[:PUBLISHED]-(n2:TWITTER)
WITH n1 AS URL
MATCH (n3:YOUTUBE)<-[:RELATED]-(URL)
WITH n3 as VIDEO
MATCH (VIDEO {ytAgeRestricted:"true"})
RETURN distinct VIDEO
返回账户信息
MATCH (n5:GOOGLEPLUS)<--(n4:CHANNELYOUTUBE)<--(n3:YOUTUBE {ytAgeRestricted:"true"})<-[:RELATED]-(n2:URL:SOCIALNETWORK)<-[:PUBLISHED]-(n1:TWITTER)
RETURN n1,n3,n4,n5
此页面是否有帮助?