230 likes | 239 Views
A Ranking Algorithm for Semantic search engine – spam and fake detection case study. By: Soheila Dehghanzadeh. Web technology lab weekly seminars. Agenda :. • Web spam definition • A brief overview of Search engines • Search engine phases: – Crawling – Indexing – Index lookup
E N D
A Ranking Algorithm for Semantic search engine – spam and fake detection case study By: Soheila Dehghanzadeh. Web technology lab weekly seminars.
Agenda : • Web spam definition • A brief overview of Search engines • Search engine phases: – Crawling – Indexing – Index lookup – Ranking lookup results • My proposed ranking algorithm
Web spam and fake: • In web of data anyone is able to say anything about anything. • Low quality data should not be mentioned in top search results.
web of data vs. web of documents. • WODocNo: link type and no trustworthiness (just popularity). • WOData: should consider link type and link context (for provenance and proof of trust).
Crawling & Indexing phase… • Using ldspider to crawl linked data. • Using hexastore for complete indexing the crawled data. Special thanks to Panagiotis Karras for providing hexastore implementation in python.
•Index lookup results for extension… some Results may not include keyword but they have high quality and relevance. Result expansion to hide the locality effect. Some sites is referred many times but in this special context other professional sites lookup results are more interested. ranking Crawler result Raw rdf indexing Web of data lookup index
HexaStore • Index structure that we use in our search engine. • Each RDF element type deserve to have special index structure build round it. • Every possible ordering of the importance or precedence of the three elements in the indexing scheme is materialized. • Each index structure in a hexastore centers around one RDF element and defines a perioritation between the other 2 elements.
Sample spo indexing in a hexastore Si P(I,1) P(I,2) P(I,Ni) O(i2,1) O(iNi,1) O(i1,1) O(i2,2) O(iNi,2) O(i1,2) Space complexity : Spo+sp+pso+so+ pos+po O(i2,ki2) O(iNi,kiNi) O(i1,ki1)
My idea! • • Import the base result set to jena and extend it. Extending the base set with ontology reasoning rules so that extra resources and relations will be added through reasoning rules. The added resources The added relation has no context so their trustworthiness is an aggregation function on (x,y,rule) relations--- Resources will be added only through sameAs predicate Resources will be ranked according to relevance to query terms (using ontobroker – pagerank – objectrank- triplerank – HITS,….) Query – Keyword query – Structured query – Ontology based query (using an interface to get query) - ontobroker Relation (properties) will be ranked according to contexts(provenance) using relation ranking methods such as semRank or we can look at context’s pageRank. Note that First we rank resources and second we rank relations . However it depends on the user query whether it is looking for relations or resources. • • • • • • •
• Lookup on quads for keyword (Soheila) • Q1: http://um.s11,givenname,”Soheila”,UM • Q2:http://NIOC/p25,fullname,”Soheila Dehghan”,NIOC • Q3:http://nigc-khrz/e66,firstname,”Soheila”,NIGC • Q4: http://fake/f4,name,”Soheila”,fake B.Gates Cheese Scott Buy(Spam) SA(FB) http://facebook /u122 http://isport /us122 Q1 SA(LI) Q3 Q2 http://linkedIn/ u12 SA(FK) SA(FK) SA(FK) Q4
Result set expansion methods: • step1: using sameas predicate on found Qaudes and extend ResultSet to Q1,…,Qr • index LookUp – Q1(S),SameAs,?,?Qr(S),SameAs,?,? – ?,SameAs,Q1(S),? ?,SameAs,Qr(S),? • (Q1,…,Q4Q1,…,Q4,FBURI,LinkedInURI,isportURI) in our case. • apply PR on Extended graph with SameAs which SameAs links are replaced with PR weight of sameAs context.(to know the trustwothiness of each contexts).
Result set expansion methods: • Step2: LookUp all properties of Q1(s),…,Qr(s) – Q1(s),?,?,?—?,?,Q1(s),? – … – Qr(s),?,?,?—?,?,Qr(s),? • Step4: add inferred relation using domain ontology(context is composed of ontology+inference process) • Step4: rank Q1,…,Qr according to their TpageRank (computed online from graph of step1 ), rank relations according to their context pageRank(which is computed by Google offline) • Note : contexts who has PR lower than a treshhold won’t be mentioned.they maybe Spam or Fake Sites.
Structured query on quads indexes • Single pivot: – (S,?,?,?),(?,p,?,?),(?,?,o.?),(?,?,?.C) • Double pivot: – (S,p,?,?),(s,?,O,?),(s,?,?,C),(?,P,O,?),(?,P,?,C),(?,?,o, C) • Triple pivot: – (s,p,o,?),(s,p,?,c),(s,?,o,c),(?,p,o,c)
• Step1: if the specified parts was URI then a direct lookup is performed by search engine . Otherwise if user have specified keyword for each parts then firstly a keyword search will be done and then for each result URI a lookup will be performed.
Lookup on quads for ontological queries
DehghanZadeh (GAS) GAS Worked at(GAS) Owl:sameAs(FUM) Sally(NIOC) Owl:sameAs(NIOC) Soheila (FUM) played in(NIOC) Studied in(FUM) FUM NIOC Team Supervisor (FUM) Kahani (FUM)
Related works for ranking web of data… • Objectrank • Ding • Sindice ti-idf • EntityRank. • semRank • ReConRank • ontobroker…
Proof of trust • Jena inference Explanation will be used to represent as a proof of trust
Evaluation … • Compare Spam ranks • Compare query time • Compare index size
Best things in the life are free. Thanks for attention.