A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1...

13
A Tag-Based Blog Recommendation System for Smart-M3 Multi-Blogging Diana V. Zaiceva, Dmitry G. Korzun Petrozavodsk State University Department of Computer Science 10 th FRUCT Conference, November 11th, Tampere, Finland Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 1 / 13

Transcript of A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1...

Page 1: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

A Tag-Based Blog Recommendation Systemfor Smart-M3 Multi-Blogging

Diana V. Zaiceva, Dmitry G. Korzun

Petrozavodsk State UniversityDepartment of Computer Science

10th FRUCT Conference, November 11th, Tampere, Finland

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 1 / 13

Page 2: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Table of Contents

1 Multiblogging with SmartScribo

2 Blog Recommendation

3 Tags Ranking

4 Conclusion

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 2 / 13

Page 3: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Multiblogging with SmartScribo

SmartScribo: Smart-M3 Application

Distributed multi-agentarchitectureBlogosphere is sharedin the smart space

I partiallyI dynamically

Interaction withmultiple blogs atmany blog servicesAgents are KPs:

I clientsI processorsI mediators

Synchronization by notification (subscription)Proactive blog retrieval, e.g., based on recommendationIndividual and collaborative activity

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 3 / 13

Page 4: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Multiblogging with SmartScribo

Personal Smart Spaces

PersonI personal (long-term) interests

Blog dataI post starts discussionI discussion evolves with

commentariesI tags describe post semantics

ContextI coordinates & surroundingsI . . .

I post read&write: post statusI given post p and user u,

Tpu is the latest post access time

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 4 / 13

Page 5: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Multiblogging with SmartScribo

Objective: Proof-of-the-ConceptSearching personally-interesting discussions in the blogosphere

Are smart spacesan appropriateparadigm?

user u contextfor post p

I read or send:post status

I latest postaccesstime Tpu

Our testbed: Smart-M3 and SmartScribo

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 5 / 13

Page 6: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Blog Recommendation

Basic Steps

1 User u activity:post access timeand other attributes

2 Tracking poststatus

3 Tag index data(t ,u)and rank Rtu

4 Blog discovery fortop-ranked tags

5 Publishing blogrecommendation

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 6 / 13

Page 7: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Blog Recommendation

Blog Search EnginesExamples

TechnoratiGoogle Blog SearchLjSeek.com

BlogScopeBlogPulseRegator.com

Search querieshttp://www.blogpulse.com/search?boolean=false&operator=and&

keywords=cat+mouse+milk&...

http://api.regator.com/posts/search?searchTerm=cat&...

Blog mediator provides input for search queries

A simple case is query for blogs containing given tags:

p ∈ blogosphere s.t. t ∈ p for some t ∈ T

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 7 / 13

Page 8: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Blog Recommendation

Some Known Classes of Recommendation Methods

Content-based algoritmI Decision trees and rule inductionI Nearest neighbour methodsI Relevance Feedback and Rocchios AlgorithmI Linear ClassifiersI Probabilistic Methods and Naive Bayes

Collaborative filteringI user based collaborative filteringI item based collaborative filtering

Demographic recommendationUtility-based recommendationKnowledge-based recommendation

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 8 / 13

Page 9: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Tags Ranking

Simple ModelUser u, post p, tag t

np ≥ 1 is the sum number of tags in p

np is a post attribute kept in the blogosphere smart space

Blog mediator tracks status of p and updates tags index

δt is the time elapsed from the latest update (discrete: 0,1, 2, . . . )

Rtu shows importance of blogs with t to u

Rtu =

1/np, if δt = 0 (i.e., t is new)

(1− α)Roldtu +

α

δtnp, if δt ≥ 1

(1)

1/np is topic-focus level of p1/δt is freshness of t (tag relevance)0 < α < 1 is a tradeoff parameter

Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 9 / 13

Page 10: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Tags Ranking

Tag RelevanceSimple popularity parameter of t personalized for u

δt = F({Tqv}t∈q,v∼u

)Factor 1/δt shows access activity for posts with t

The higher δt the less interest to u in such posts

Individual activity of u

δt = δt(u) = T0 − maxt∈q,q 6=p

Tqu

Collective activity: group C influences u’s decisions

δt = δt(C) = T0 −max{

maxt∈q,q 6=p

Tqu, maxv∈C\{u}

maxt∈q

Tqv

}where T0 is the current time at blog mediator

Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 10 /

13

Page 11: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Tags Ranking

Architectural Design

Blog mediator

subscribe to poststatus

tags indexing andranking

query to blogsearch engine

Blog client

subscribe to recommenderproactively receive recommendationsaccept and enjoy

Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 11 /

13

Page 12: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Conclusion

Current Status and Results

Ongoing research in proof-of-the-concept style

Usecase scenario and architectural designI Smart-M3 features for smart applicationsI SmartScribo multi-agent architectureI SmartScribo synchronization mechanismI SmartScribo GUI design rules

In-progress implementationI Simple modelI Use of available servicesI http://oss.fruct.org/wiki/SmartScriboI http://gitorious.org/smart-scribo/smart-scribo

Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 12 /

13

Page 13: A Tag-Based Blog Recommendation System for Smart-M3 Multi ... · Blog Recommendation Basic Steps 1 User u activity: post access time and other attributes 2 Tracking post status 3

Conclusion

Our Plans

1 Evaluation experiments2 From simple model to usable solutions3 Benefits from known recommendation methods4 Adaptation to function variety of existing blog search engines

SmartScribo project wiki (in Russian)http://oss.fruct.org/wiki/SmartScribo

Open sourcehttp://gitorious.org/smart-scribo/smart-scribo

Mailing [email protected]

Q&A

Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 13 /

13