+ All Categories
Home > Documents > interest driven ranking algorithm

interest driven ranking algorithm

Date post: 07-Feb-2023
Category:
Upload: karunya
View: 1 times
Download: 0 times
Share this document with a friend
30
ABSTRACT A social network is a website or application which enables users to connect with friends. User’s interest in web search can affect her/his friends who have similar interests and so if user’s interest can be tracked, then more relevant information’s can be showed. The main feature of social network is profile similarity, friendship and prestige. User’s search preferences are similar with those who expected with similar interests and trust. 1
Transcript

ABSTRACTA social network is a website or application which

enables users to connect with friends. User’s interest in

web search can affect her/his friends who have similar

interests and so if user’s interest can be tracked, then

more relevant information’s can be showed. The main

feature of social network is profile similarity,

friendship and prestige. User’s search preferences are

similar with those who expected with similar interests

and trust.

1

CHAPTER 1

INTRODUCTION

Human centric search is a promising paradigm to

optimize user experience and web search satisfaction. In

Face book and twitter social search can be considered as

systematic information between people. It supports human

activity and decision making. If professional

information’s is available, we can find more relevant

search results. But credible users or an expert user in

SN is unknown so user checks only a small portion of the

web results.

Ranking system is developed for search results and

wrong information is filtered. People are willing to work

with only known people so they can serve credible

information’s. Relations in a social network are

conceptualized by the connections between users.

Relations in a social network can be regarded as the

value of similarity and trust among people. The user’s

2

similarity can be measured by comparing their profiles.

Profile similarity, topic driven profile similarity,

friendship and prestige for accessing trust are important

features to be extracted from social network.

1.1 PROBLEM STATEMENT

In social network user checks only a small portion of

web results and some wrong information’s get displayed

due to lack of common knowledge among users .Friends

interest spoils users personal interest.

1.2 OBJECTIVE

The main objective is by developing ranking system to

identify similar credible users to find more relevant

search results based upon users friends interest and

users personal interest in social network.

1.3 PROPOSED APPROACH

In the proposed approach Interest driven ranking

algorithm is proposed to rank the user’s social

information such as user profile and connectivity by

topics with similar interests and trusts.

3

Algorithm works to assign a numerical

weighting to each node in a social network. This helps in

calculating superposition attention of node which

directly receives from neighbourhood. The similarity of

user profiles to be measured. Similarity can be measured

by generating association matrix between topics and

profile attributes. Social rank algorithm helps to bring

social information into personalized social search.

1.4 OUTLINE REPORT

The rest of the report is organized as follows: In

Chapter 2, Algorithm and architecture is discussed. The

implementation details is discussed in Chapter 3.

Conclusion is discussed in chapter 4.

4

CHAPTER 2

INTEREST DRIVEN RANKING ALGORITHM FOR LARGER

DATA IN SOCIAL NETWORK

2.1 INTRODUCTION

People are strongly willing to work or associate with

those whom they know or trust rather than with strangers.

So that only trustworthy people can obtain credible

information.

Personalized smart finder is our important

implementation prototype system. It extracts user

profiles from social network. By social ranking it

performs topical classification among users and

personalizes web search results. This finder consists of

twelve components which helps us to extract user profiles

from sns and use to extract concerned information and

ranks social relationship among web users.

Social relationship between people in SN assesses the

social rank including their topical preferences by

comparing personal Ratings. This algorithm is to be

evaluating with larger data sets and query sets. In

addition social routing method to be studied to improve

trust and accuracy.

5

2.2 ARCHITECTURE

Fig 2.2.1 personalized smart finder

2.3 ALGORITHM

Interest driven social rank algorithm proceeds with

social rank and page rank. Similarity is to be calculated

so that it uses the following equation to predict ranking

among users based upon interest.

SIM(ui,uj) = 1𝑚Σ∝𝑘𝐴𝑡𝑡𝑘𝑚𝑘=1 (1)

where m is the number of profile attributes, ak is a

weight of the kth profile attribute, ATT is the k Th

attribute.

TSIM(ui,uj) = 1𝑚Σ∝𝑘(𝑤𝑚∗𝐴𝑡𝑡𝑘𝑚𝑘=1) (2)

CL(ui,uj)(d) = max(1 - (1 - f)d, r) (3)

CO(ui,uj)= 1𝑑Σ𝑙𝑘𝑑𝑘=1 (4)

6

FR(ui,uj) = CL(ui,uj)(d) * CO(ui,uj) (5)

Kiin = Σ𝑒𝑗,𝑗=1 (6)

di = 1𝑛−1 Σ𝑒𝑗,𝑖𝑗=1 (7)

PR(ui) = 𝑘𝑖 𝑖𝑛𝑑𝑖 (8)

SRank (uj)

P (s|u) = 1(𝑢)exp [Σ𝜆𝑖𝑓𝑖(𝑢,𝑠)]3𝑖

= 1𝑍(𝑢)exp [Σ𝜆1∗SIM(ui,uj)+𝜆2∗ 𝐹𝑅(ui,uj)+𝜆3∗PR(uj) ]3𝑖

TSRank (uj)

P (s|u) = 1(𝑢)exp [Σ𝜆𝑖𝑓𝑖(𝑢,𝑠)]3𝑖

= 1𝑍(𝑢)exp [Σ𝜆1 𝑇∗SIM(ui,uj)+𝜆2∗ 𝐹𝑅(ui,uj)+𝜆3∗PR(uj) ]3𝑖

2.4 PERFORMANCE METRICS

Relevant search results

CHAPTER 3

IMPLEMENTATION DETAILS

3.1 SOFTWARE REQUIREMENTS

The proposed system is implemented using c# code in

windows form application.

FRONT END: VISUAL STUDIO 2010

BACK END: SQL 2008

7

C# is an elegant and type-safe object-oriented language

that enables developers to build a variety of secure and

robust applications that run on the .NET Framework. You can

use C# to create Windows client applications, XML Web

services, distributed components, client-server applications,

database applications, and much, much more. Visual C# provides

an advanced code editor, convenient user interface designers,

integrated debugger, and many other tools to make it easier to

develop applications based on the C# language and the .NET

Framework.

3.2 HARDWARE REQUIREMENTS

RAM : 6GB HDD : 500 GB

PROCESSOR : INTEL i3

3.3 MODULE DESCRIPTION

3.3.1 USER LOGINUser has to sign in into personalized smart finder to

get search results using Google API.Google API transmits

a users query to google and collects search results to

personalized smart finder. For every users login is very

important get into the finder to perform search actions

by connecting with friends. Login is considered to be an

user authentication. Sign up is an addition option to

register more new users to experience new search results

using personalized smart finder.

8

3.3.2 QUERY SEARCH RESULTSAfter login user can able to enter his search query in

the provided text box in the personalized smart finder.

When system is connected to internet the given query can

processed into google and it is able to retrieve

information from google by Google API.

As google does our personalized smart finder also able

to display number of search results based upon users

query and no of results based on word 1 and word 2 got

displayed. Thus Google API plays an important role in

query search results.

9

CHAPTER 4

CONCLUSIONBy social rank we can measure the social relationship

between people in social network. By comparing personal

ratings we can evaluate its effectiveness and can predict

high social relationship values among users. By

personalized Smart finder process the above process can

performed and thus credible users can issues more

relevant search results than other users.

10

REFERENCES

Aditya Telang, Chengkai Li, and Sharma Chakravarthy One

Size Does Not Fit All: Toward User- and Query-Dependent

Ranking for Web Databases-2012.

Bin Tan, Xuehua Shen, ChengXiang Zhai Mining Long-Term

Search History To Improve Search Accuracy-2006.

C. Srinvas Explicit User Profiles for Semantic Web Search

Using XML-2012.

11

David C. Evans, Samuel D. Gosling, Anthony Carroll What

Elements of an Online Social Networking Profile Predict

Target- Rater Agreement in Personality Impressions?-2008.

David Carmel, Naama Zwerdling, Ido Guy, Shila Ofek-

Koifman, Nadav Har’el,

Eyuphan Bulut and Boleslaw K. Szymanski Friendship Based

Routing in Delay Tolerant Mobile Social Networks-2010

Eyuphan Bulut, Boleslaw K. Szymanski, Fellow Exploiting

Friendship Relations for Efficient Routing in Mobile

Social Networks-2012.

Heasoo Hwang, Hady W. Lauw, Lise Getoor, and Alexandros

Ntoulas Organizing user Search Histories-2012.

Inbal Ronen, Erel Uziel, Sivan Yogev Personalized Social

Search Based on the User’s Social Network-2009.

Irwin King, Jiexing Li, and Kam Tong Chan A Brief Survey

of Computational Approaches in Social Computing-2009.

Jyoti Gautam, Ela Kumar an Improved Framework for Tag-

Based Academic Information Sharing and Recommendation

System-2012.

Kazunari Sugiyama, Kenji Hatano, Masatoshi Yoshikawa

Adaptive Web Search Based on User Profile Constructed

without Any Effort from Users-2004

Ko-Jen Hsiao, Alex Kulesza, and Alfred O. Hero, Fellow

Social Collaborative Retrieval-2014.

Manos Papagelis, Gautam Das, Nick Koudas Sampling Online

Social Networks-2013.

12

Mirco Speretta, Susan Gauch Personalizing Search Based on

User Search Histories-2004.

13

Ning-Han Liu Effective Results Ranking for Mobile Query

by Singing/Humming Using a Hybrid Recommendation

Mechanism-2014.

Qi Liu, Enhong Chen, Hui Xiong, Chris H. Q. Ding, Jian

Chen Enhancing Collaborative Filtering by User Interest

Expansion via Personalized Ranking-2012.

Retrieval Effectiveness -2004.

Sangil Song, Sung-Eun Park, Sang-goo Lee, Donghoon Shin A

General Model for Document Ranking using Rich Contextual

Information-2011.

Shenghua Bao, Xiaoyuan Wu, Ben Fei, Guirong Xue, Zhong

Su, and Yong Yu Optimizing Web Search Using Social

Annotations-2007.

T.GnanaJanani, M.SivaKumar Efficient Information

Retrieval System with Higher Priority for User

Preference-2014.

Thi Zin, Pyke Tin, Takashi Toriu A Stochastic Model for

Measuring Popularity and Reliability in Social Network

Systems-2013.

Xin Jin, Jiebo Luo, Fellow, Dhiraj Joshi, Gang Wang

Reinforced Similarity Integration in Image-Rich

Information Networks-2013.

Zhicheng Dou, Ruihua Song, Ji-Rong Wen, and Xiaojie Yuan

Evaluating the Effectiveness of Personalized Web Search-

2009.

14

Gang Chen, Chor Ping Low, Zhonghua Yang Enhancing Search

Performance in Unstructured P2P Networks Based on Users’

Common Interest-2008.

Vu thanh Nguyen Using social annotation and web log to

enhance Search engine-2009.

Fang Liu, Clement Yu, Weiyi Meng Personalized Web Search

for Improving Retrieval Effectiveness -2004.

APPENDIX A

SAMPLE SOURCE CODE

USER LOGIN CODE

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

15

using System.Windows.Forms;

using System.Data.SqlClient;

namespace PreProcesssDB

{

public partial class frmUser : Form

{

clsConnection db = new clsConnection();

string qry;

DataSet ds;

public frmUser()

{

InitializeComponent();

}

private void butRegister_Click(object sender,

EventArgs e)

{ }

private void groupBox2_Enter(object sender,

EventArgs e)

{

}

16

private void butLogin_Click(object sender,

EventArgs e)

{ qry = "select * from [MovieLens].[dbo].[User]

where UserId='" + txtUserName.Text + "'and TwitterId='" +

txtPassword.Text + "'";

ds = db.getDataset(qry);

if (ds.Tables[0].Rows.Count > 0)

{

frmGoogleAPI objGAPI = new

frmGoogleAPI();

//objGAPI.MdiParent = this;

this.Close();

objGAPI.Show();

}

else

{

lblStatus.Text = "Invalid User";

lblStatus.Visible = true; }

}

17

private void frmUser_Load(object sender,

EventArgs e)

{

}

}

}

GOOGLE API CODE

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Web;

using System.Runtime.Serialization;//.Web;

using Newtonsoft.Json.Serialization;

using Newtonsoft.Json;

using Newtonsoft.Json.Bson;

using Newtonsoft.Json.Converters;

18

using Newtonsoft.Json.Linq;

using Newtonsoft.Json.Schema;

using Newtonsoft.Json.Utilities;

using System.IO;

using System.Runtime.Serialization.Json;

using HtmlAgilityPack;

using System.Text.RegularExpressions;

namespace PreProcesssDB

{

public partial class frmGoogleAPI : Form

{

const int ClusterNo = 10;

public static double theeta = 0.4;

clsConnection db = new clsConnection();

string qry;

DataSet ds;

public frmGoogleAPI()

{

InitializeComponent();

}

public static List<SearchResult>

GoogleSearch(string search_expression, Dictionary<string,

object> stats_dict)

{

19

var results_list = new List<SearchResult>();

try

{

var url_template =

"http://ajax.googleapis.com/ajax/services/search/web?

v=1.0&rsz=large&safe=active&q={0}&start={1}";

Uri search_url;

// int[] offsets = { 0,

8,16,24,32,40,48,56,64,72 };

int[] offsets = { 0,

8,16,24,32,40,48,56,64 };

// int[] offsets = { 0, 8, 16, 24, 32, 40,

48, 56};

foreach (var offset in offsets)

{

try

{

search_url = new

Uri(string.Format(url_template, search_expression,

offset));

var page = new

WebClient().DownloadString(search_url);

JObject o =

(JObject)JsonConvert.DeserializeObject(page);

var results_query = from result

in o["responseData"]["results"].Children()

20

select new

SearchResult(url: result.Value<string>("url").ToString(),

title: result.Value<string>("title").ToString(), content:

result.Value<string>("content").ToString(), engine:

SearchResult.FindingEngine.google);

foreach (var result in

results_query)

{

results_list.Add(result);

}

}

catch (InvalidOperationException iox)

{

continue;

//MessageBox.Show(iox.Message,

"Exception");

}

}

}

catch (Exception ex)

{

}

return results_list;

}

21

private bool checkentry(string input)

{

if (input.Split(' ').Length == 2)

return true;

else

return false;

}

public static double A, B, AB;

private DataSet checkentryinDB(string input1,

string input2)

{

qry = "SELECT SearchID,PCount,PCount1,PCount2

FROM [WordSIM].[dbo].[SimSearch] where [Word1]='" +

input1 + "' and [Word2]='" + input2 + "'";

return db.getDataset(qry);

}

static string SearchID = "";

string SearchPair;

private void clearAll()

{

tbxSnipps.Clear();

tbxPCount.Clear();

tbxPCount1.Clear();

tbxPCount2.Clear();

}

22

List<SearchResult> list;

private void button1_Click(object sender,

EventArgs e)

{

try

{

clearAll();

SearchPair = tbxSearchPair.Text.Trim();

if (checkentry(SearchPair))

{

list = new List<SearchResult>();

DataSet ds_DbResults =

checkentryinDB(SearchPair.Split(' ')[0],

SearchPair.Split(' ')[1]);

if (ds_DbResults.Tables[0].Rows.Count

== 0)//no data in DB for this search. So move to Internet

{

progressBar1.Visible = true;

progressBar1.Style =

ProgressBarStyle.Marquee;

progressBar1.MarqueeAnimationSpee

d = 100;

progressBar1.Refresh();

//Word 1

button1.Enabled = false;

23

var doc = new

HtmlWeb().Load("http://www.google.com/search?q=" +

SearchPair.Split(' ')[0].ToString());

var div =

doc.DocumentNode.SelectSingleNode("//div[@id='resultStats

']");

var text = div.InnerText;

var matches = Regex.Matches(text,

@"About ([0-9,]+) ");

var total =

matches[0].Groups[1].Value;

tbxPCount1.Text =

total.ToString();

progressBar1.Refresh();

//Word 2

doc = new

HtmlWeb().Load("http://www.google.com/search?q=" +

SearchPair.Split(' ')[1].ToString());

div =

doc.DocumentNode.SelectSingleNode("//div[@id='resultStats

']");

text = div.InnerText;

matches = Regex.Matches(text,

@"About ([0-9,]+) ");

total =

matches[0].Groups[1].Value;

24

tbxPCount2.Text =

total.ToString();

progressBar1.Refresh();

//word pair

doc = new

HtmlWeb().Load("http://www.google.com/search?q=" +

tbxSearchPair.Text.Trim());

div =

doc.DocumentNode.SelectSingleNode("//div[@id='resultStats

']");

text = div.InnerText;

matches = Regex.Matches(text,

@"About ([0-9,]+) ");

total =

matches[0].Groups[1].Value;

tbxSnipps.Text = "Exception

Occured";

tbxPCount.Text =

total.ToString();

progressBar1.Refresh();

qry = "INSERT INTO [WordSIM].

[dbo].[SimSearch] VALUES ('" + SearchPair.Split(' ')

[0].ToString() + "','" + SearchPair.Split(' ')

[1].ToString() + "','" + tbxPCount.Text.Replace(",", "")

+ "','" + tbxPCount1.Text.Replace(",", "") + "','" +

tbxPCount2.Text.Replace(",", "") + "')";

25

db.exeQuery(qry);

//string SearchID="";

qry = "SELECT MAX([SearchID])

FROM [WordSIM].[dbo].[SimSearch]";

ds = db.getDataset(qry);

SearchID = ds.Tables[0].Rows[0]

[0].ToString();

Dictionary<string, object> dicObj

= new Dictionary<string, object>();

list =

GoogleSearch(tbxSearchPair.Text.Trim(), dicObj);

for (int i = 0; i < list.Count;

i++)

{

qry = "INSERT INTO [WordSIM].

[dbo].[Snippets] VALUES('" + SearchID + "','" +

list[i].url + "','" + StripTagsCharArray(list[i].title) +

"','" + StripTagsCharArray(list[i].content) + "','" +

list[i].engine + "')";

db.exeQuery(qry);

}

//textBox2.Text =

list.Count.ToString();

//textBox3.Text="";

}

26

else if

(ds_DbResults.Tables[0].Rows.Count > 0)//get data from DB

{

tbxPCount1.Text =

ds_DbResults.Tables[0].Rows[0]["PCount1"].ToString();

tbxPCount2.Text =

ds_DbResults.Tables[0].Rows[0]["PCount2"].ToString();

tbxPCount.Text =

ds_DbResults.Tables[0].Rows[0]["PCount"].ToString();

SearchID =

ds_DbResults.Tables[0].Rows[0]["SearchID"].ToString();

// A =

Convert.ToDouble(ds_DbResults.Tables[0].Rows[0]

["PCount1"]);

//B =

Convert.ToDouble(ds_DbResults.Tables[0].Rows[0]

["PCount2"]);

//AB =

Convert.ToDouble(ds_DbResults.Tables[0].Rows[0]

["PCount"]);

//qry = "SELECT [SnipID],

[Content] FROM [WordSIM].[dbo].[Snippets] where

[SearchID]='" + ds_DbResults.Tables[0].Rows[0]

["SearchID"].ToString() + "'";

qry = "SELECT [SnipID], [url],

[title] ,[engine] ,[Content] FROM [WordSIM].[dbo].

27

[Snippets] where [SearchID]='" +

ds_DbResults.Tables[0].Rows[0]["SearchID"].ToString() +

"'";

ds = db.getDataset(qry);

for (int i = 0; i <

ds.Tables[0].Rows.Count; i++)

{

list.Add(new

SearchResult(url: ds.Tables[0].Rows[i]["url"].ToString(),

title: ds.Tables[0].Rows[i]["title"].ToString(), content:

ds.Tables[0].Rows[i]["Content"].ToString(), engine:

SearchResult.FindingEngine.google));

APPENDIX B

SAMPLE SCREENSHOTS

Fig B.1 [personalized smart finder]

28

Fig B.2[user login]

Fig B.3[login process]

29

Fig B.4[google api]

Fig B.5[google api results]

30


Recommended